Interface Servlet

All Known Subinterfaces:
HttpJspPage, JspPage
All Known Implementing Classes:
GenericServlet, HttpServlet

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.
Since:
Servlet API 1.0
Version:
Servlet API 2.2
  • Method Details

    • init

      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
      UnavailableException - If servlet is temporarily or permanently unavailable
      Since:
      Servlet API 1.0
      See Also:
    • service

      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
      IOException - If an error occurs
      Since:
      Servlet API 1.0
      See Also:
    • destroy

      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.
      Since:
      Servlet API 1.0
    • getServletConfig

      ServletConfig getServletConfig()
      Gets the servlet config class. This should be the same ServletConfig that was handed to the init() method.
      Returns:
      The config class
      Since:
      Servlet API 1.0
    • getServletInfo

      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.
      Since:
      Servlet API 1.0