GenericServlet (Servlet 6.0 API Documentation - Apache Tomcat 10.1.2)

Package jakarta.servlet

## Class GenericServlet

- java.lang.Object
- - jakarta.servlet.GenericServlet

- All Implemented Interfaces:
    `Servlet`, `ServletConfig`, `java.io.Serializable`
  Direct Known Subclasses:
    `HttpServlet`

      public abstract class GenericServlet
      extends java.lang.Object
      implements Servlet, ServletConfig, java.io.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.

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GenericServlet()` | Does nothing.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `destroy()` | Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.
    `java.lang.String` | `getInitParameter​(java.lang.String name)` | Returns a `String` containing the value of the named initialization parameter, or `null` if the parameter does not exist.
    `java.util.Enumeration<java.lang.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.
    `java.lang.String` | `getServletInfo()` | Returns information about the servlet, such as author, version, and copyright.
    `java.lang.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​(java.lang.String message)` | Writes the specified message to a servlet log file, prepended by the servlet's name.
    `void` | `log​(java.lang.String message, java.lang.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 java.lang.String getInitParameter​(java.lang.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 java.util.Enumeration<java.lang.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(jakarta.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 java.lang.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(jakarta.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 configuration 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​(java.lang.String message)

      Writes the specified message to a servlet log file, prepended by the servlet's name. See `ServletContext.log(String)`.
      Parameters:
        `message` - a `String` specifying the message to be written to the log file

    - #### log

          public void log​(java.lang.String message,
                          java.lang.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,
                                       java.io.IOException

      Called by the servlet container to allow the servlet to respond to a request. See `Servlet.service(jakarta.servlet.ServletRequest, jakarta.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
        `java.io.IOException` - if an input or output exception occurs

    - #### getServletName

          public java.lang.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