Java Reference
In-Depth Information
GenericServlet
Most servlets provide similar basic functionality through an abstract javax.servlet.GenericServlet
class provided by the Servlet API. The GenericServlet class implementation is protocol-independent,
so it does not matter if it has to respond to HTTP or FTP requests. The GenericServlet abstract
class defines an init() method that is called by the default init(ServletConfig) method to execute
any application-specific servlet initialization.
HttpServlet
In a web application, lack of any protocol-dependent processing in a GenericServlet class signifies
that the developer has to write the code for this processing in any subclass she creates. Since
HTTP is the most well-known and widely used protocol on the Web, the Servlet API also includes
one more abstract subclass of GenericServlet : javax.servlet.http.HttpServlet . The service()
method is implemented by HttpServlet , which inspects the incoming HTTP method and invokes the
appropriate method for that request type.
Note HTTP/1.1 defines seven request methods. The HttpServlet class provides default implementations
for each of these methods that you can override in your servlets. However, most web application comprise
servlets that override only the doGet() and doPost() methods.
An HTTP request to an HttpServlet subclass goes through a number of steps:
1.
A call to the public service (ServletRequest, ServletResponse) method by
the container.
2.
Delegation of this call to HttpServlet 's protected service
(HttpServletRequest, HttpServletResponse) method.
3.
The protected service (HttpServletRequest, HttpServletResponse)
method then delegates to the appropriate doXxx method, depending on the
HTTP method used for the request.
HelloWorld Servlet
As mentioned in the previous section, the superclass of your servlet includes two versions of init() ,
one that takes a ServletConfig and one that's a no-arg. The init(ServletConfig) method calls the
no-arg init() , so you need to override only the no-arg version.
init( )
The container calls init() on the servlet instance. You can override it in order to get database
connections registered with other objects. Otherwise, the init() method from the Genericservlet runs.
 
 
Search WWH ::




Custom Search