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

    Constructors
    Constructor and Description
    `GenericServlet()` Does nothing.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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<String>` | `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<String> 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 © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.