public abstract class GenericServlet extends java.lang.Object implements Servlet, ServletConfig, java.io.Serializable
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.
Constructor and Description |
---|
GenericServlet()
Does nothing.
|
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.
|
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 msg)
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.
|
public GenericServlet()
init
methods.public void destroy()
Servlet.destroy()
.public java.lang.String getInitParameter(java.lang.String name)
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.
getInitParameter
in interface ServletConfig
name
- a String
specifying the name of the initialization parameterString
containing the value of the initialization parameterpublic java.util.Enumeration<java.lang.String> getInitParameterNames()
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.
getInitParameterNames
in interface ServletConfig
String
objects containing the names of the servlet's
initialization parameterspublic ServletConfig getServletConfig()
ServletConfig
object.getServletConfig
in interface Servlet
ServletConfig
object that initialized this servletServlet.init(jakarta.servlet.ServletConfig)
public ServletContext getServletContext()
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.
getServletContext
in interface ServletConfig
ServletContext
object passed to this servlet by the init
methodServletContext
public java.lang.String getServletInfo()
Servlet.getServletInfo()
.getServletInfo
in interface Servlet
public void init(ServletConfig config) throws ServletException
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)
.
init
in interface Servlet
config
- the ServletConfig
object that contains configuration information for this servletServletException
- if an exception occurs that interrupts the servlet's normal operationUnavailableException
public void init() throws ServletException
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()
.
ServletException
- if an exception occurs that interrupts the servlet's normal operationpublic void log(java.lang.String msg)
ServletContext.log(String)
.msg
- a String
specifying the message to be written to the log filepublic void log(java.lang.String message, java.lang.Throwable t)
Throwable
exception to the servlet log file,
prepended by the servlet's name. See ServletContext.log(String, Throwable)
.message
- a String
that describes the error or exceptiont
- the java.lang.Throwable
error or exceptionpublic abstract void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException
Servlet.service(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)
.
This method is declared abstract so subclasses, such as HttpServlet
, must override it.
service
in interface Servlet
req
- the ServletRequest
object that contains the client's requestres
- the ServletResponse
object that will contain the servlet's responseServletException
- if an exception occurs that interferes with the servlet's normal operation occurredjava.io.IOException
- if an input or output exception occurspublic java.lang.String getServletName()
ServletConfig.getServletName()
.getServletName
in interface ServletConfig