All Packages  Class Hierarchy  This Package  Previous  Next  Index

Interface javax.servlet.Servlet

public interface Servlet
This is the interface for all servlets.

Servlets handle server request.

Servlets have 5 phases in their lifespan, as follows:

  1. Creation
    This is an ordinary constructor call by the server.
  2. init
    The server who created the servlet calls the init method somewhere between creation and the first request it ever gives the servlet to handle.
  3. service
    For every incoming request the server calls the service method. The server packages all the request data in a ServletRequest object, and creates a ServletResponse object for the servlet to write reply data to.
    Note that the service method is run in a seperate thread.
    This is also the great advantage of using servlets versus traditional cgi scripting: instead of forking of a proces for every request only a new thread is created.
  4. destroy
    This method is called by the server indicating that the server no longer requires this servlet's services. The serlvet is expected to release any resources it is holding using this method.
    (With resources things like database connections etc are meant).
  5. Destruction
    This happens whenever the garbage collector happens to feel like reclaiming the memory used by this servlet.

Version:
Servlet API 2.0

Method Index

 o destroy()
Called by the server when it no longer needs the servlet.
 o getServletConfig()
Gets the servlet config class.
 o getServletInfo()
Gets a string containing information about the servlet.
 o init(ServletConfig)
Initializes the servlet.
 o service(ServletRequest, ServletResponse)
Called by the server every time it wants the servlet to handle a request.

Methods

 o init
 public abstract void init(ServletConfig config) throws ServletException
Initializes the servlet. Called by the server exactly once during the lifetime of the servlet. This method can be used to setup resources (connections to a database for example) for this servlet. The servlet should store the ServletConfig so it can return it again when the getConfig() method is called. If the the servlet is temporarily or permanently unavailable it should throw an UnavailableException.

Parameters:
config - This servlet configuration class
Throws: ServletException
If an unexpected error occurs
Throws: UnavailableException
If servlet is temporarily or permanently unavailable
See Also:
UnavailableException
 o service
 public abstract void service(ServletRequest request,
                              ServletResponse response) throws IOException, ServletException
Called by the server every time it wants the servlet to handle a request. The servlet engine doesn't have to wait until the service call is finished but can start another thread and call the service method again to handle multiple concurrent requests. If a servlet doesn't want this to happen it has to implement the SingleThreadModel interface.

Parameters:
request - all the request information
response - class to write all the response data to
Throws: ServletException
If an error occurs
Throws: IOException
If an error occurs
See Also:
SingleThreadModel
 o destroy
 public abstract void destroy()
Called by the server when it no longer needs the servlet. The servlet programmer should use this method to free all the resources the servlet is holding.

 o getServletConfig
 public abstract ServletConfig getServletConfig()
Gets the servlet config class. This should be the same ServletConfig that was handed to the init() method.

Returns:
The config class
 o getServletInfo
 public abstract String getServletInfo()
Gets a string containing information about the servlet. This String is provided by the Servlet writer and may contain things like the Servlet's name, author, version... stuff like that.


All Packages  Class Hierarchy  This Package  Previous  Next  Index