## javax.servlet
Class GenericServlet

    java.lang.Object
      javax.servlet.GenericServlet

All Implemented Interfaces:
  Serializable, Servlet, ServletConfig

Direct Known Subclasses:
  HttpServlet

    public abstract class GenericServlet

extends Object
implements Servlet, ServletConfig, Serializable

Defines a generic, protocol-independent servlet. To write an HTTP servlet for use on the Web, extend `HttpServlet` instead.

`GenericServlet` implements the `Servlet` and `ServletConfig` interfaces. `GenericServlet` may be directly extended by a servlet, although it's more common to extend a protocol-specific subclass such as `HttpServlet`.

`GenericServlet` makes writing servlets easier. It provides simple versions of the lifecycle methods `init` and `destroy` and of the methods in the `ServletConfig` interface. `GenericServlet` also implements the `log` method, declared in the `ServletContext` interface.

To write a generic servlet, you need only override the abstract `service` method.

Author:
  Various
See Also:
  Serialized Form

Constructor Summary
`GenericServlet()` Does nothing.

Method Summary
`void` `destroy()` Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.
`String` `getInitParameter(String name)` Returns a `String` containing the value of the named initialization parameter, or `null` if the parameter does not exist.
`Enumeration` `getInitParameterNames()` Returns the names of the servlet's initialization parameters as an `Enumeration` of `String` objects, or an empty `Enumeration` if the servlet has no initialization parameters.
`ServletConfig` `getServletConfig()` Returns this servlet's `ServletConfig` object.
`ServletContext` `getServletContext()` Returns a reference to the `ServletContext` in which this servlet is running.
`String` `getServletInfo()` Returns information about the servlet, such as author, version, and copyright.
`String` `getServletName()` Returns the name of this servlet instance.
`void` `init()` A convenience method which can be overridden so that there's no need to call `super.init(config)`.
`void` `init(ServletConfig config)` Called by the servlet container to indicate to a servlet that the servlet is being placed into service.
`void` `log(String msg)` Writes the specified message to a servlet log file, prepended by the servlet's name.
`void` `log(String message, Throwable t)` Writes an explanatory message and a stack trace for a given `Throwable` exception to the servlet log file, prepended by the servlet's name.
`abstract void` `service(ServletRequest req, ServletResponse res)` Called by the servlet container to allow the servlet to respond to a request.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GenericServlet

    public GenericServlet()

  Does nothing. All of the servlet initialization is done by one of the `init` methods.

Method Detail

### destroy

    public void destroy()

  Called by the servlet container to indicate to a servlet that the servlet is being taken out of service. See `Servlet.destroy()`.

  Specified by:
    `destroy` in interface `Servlet`

### getInitParameter

    public String getInitParameter(String name)

  Returns a `String` containing the value of the named initialization parameter, or `null` if the parameter does not exist. See `ServletConfig.getInitParameter(java.lang.String)`.

  This method is supplied for convenience. It gets the value of the named parameter from the servlet's `ServletConfig` object.

  Specified by:
    `getInitParameter` in interface `ServletConfig`
  Parameters:
    `name` - a `String` specifying the name of the initialization parameter
  Returns:
    String a `String` containing the value of the initialization parameter

### getInitParameterNames

    public Enumeration getInitParameterNames()

  Returns the names of the servlet's initialization parameters as an `Enumeration` of `String` objects, or an empty `Enumeration` if the servlet has no initialization parameters. See `ServletConfig.getInitParameterNames()`.

  This method is supplied for convenience. It gets the parameter names from the servlet's `ServletConfig` object.

  Specified by:
    `getInitParameterNames` in interface `ServletConfig`
  Returns:
    Enumeration an enumeration of `String` objects containing the names of the servlet's initialization parameters

### getServletConfig

    public ServletConfig getServletConfig()

  Returns this servlet's `ServletConfig` object.

  Specified by:
    `getServletConfig` in interface `Servlet`
  Returns:
    ServletConfig the `ServletConfig` object that initialized this servlet
  See Also:
    `Servlet.init(javax.servlet.ServletConfig)`

### getServletContext

    public ServletContext getServletContext()

  Returns a reference to the `ServletContext` in which this servlet is running. See `ServletConfig.getServletContext()`.

  This method is supplied for convenience. It gets the context from the servlet's `ServletConfig` object.

  Specified by:
    `getServletContext` in interface `ServletConfig`
  Returns:
    ServletContext the `ServletContext` object passed to this servlet by the `init` method
  See Also:
    `ServletContext`

### getServletInfo

    public String getServletInfo()

  Returns information about the servlet, such as author, version, and copyright. By default, this method returns an empty string. Override this method to have it return a meaningful value. See `Servlet.getServletInfo()`.

  Specified by:
    `getServletInfo` in interface `Servlet`
  Returns:
    String information about this servlet, by default an empty string

### init

    public void init(ServletConfig config)
              throws ServletException

  Called by the servlet container to indicate to a servlet that the servlet is being placed into service. See `Servlet.init(javax.servlet.ServletConfig)`.

  This implementation stores the `ServletConfig` object it receives from the servlet container for later use. When overriding this form of the method, call `super.init(config)`.

  Specified by:
    `init` in interface `Servlet`
  Parameters:
    `config` - the `ServletConfig` object that contains configutation information for this servlet
  Throws:
    `ServletException` - if an exception occurs that interrupts the servlet's normal operation
  See Also:
    `UnavailableException`

### init

    public void init()
              throws ServletException

  A convenience method which can be overridden so that there's no need to call `super.init(config)`.

  Instead of overriding `init(ServletConfig)`, simply override this method and it will be called by `GenericServlet.init(ServletConfig config)`. The `ServletConfig` object can still be retrieved via `getServletConfig()`.

  Throws:
    `ServletException` - if an exception occurs that interrupts the servlet's normal operation

### log

    public void log(String msg)

  Writes the specified message to a servlet log file, prepended by the servlet's name. See `ServletContext.log(String)`.

  Parameters:
    `msg` - a `String` specifying the message to be written to the log file

### log

    public void log(String message,
                    Throwable t)

  Writes an explanatory message and a stack trace for a given `Throwable` exception to the servlet log file, prepended by the servlet's name. See `ServletContext.log(String, Throwable)`.

  Parameters:
    `message` - a `String` that describes the error or exception
    `t` - the `java.lang.Throwable` error or exception

### service

    public abstract void service(ServletRequest req,
                                 ServletResponse res)
                          throws ServletException,
                                 IOException

  Called by the servlet container to allow the servlet to respond to a request. See `Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)`.

  This method is declared abstract so subclasses, such as `HttpServlet`, must override it.

  Specified by:
    `service` in interface `Servlet`
  Parameters:
    `req` - the `ServletRequest` object that contains the client's request
    `res` - the `ServletResponse` object that will contain the servlet's response
  Throws:
    `ServletException` - if an exception occurs that interferes with the servlet's normal operation occurred
    `IOException` - if an input or output exception occurs

### getServletName

    public String getServletName()

  Returns the name of this servlet instance. See `ServletConfig.getServletName()`.

  Specified by:
    `getServletName` in interface `ServletConfig`
  Returns:
    the name of this servlet instance

Copyright © 2008 Mort Bay Consulting. All Rights Reserved.