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, extendHttpServlet
instead.GenericServlet
implements theServlet
andServletConfig
interfaces.GenericServlet
may be directly extended by a servlet, although it's more common to extend a protocol-specific subclass such asHttpServlet
.GenericServlet
makes writing servlets easier. It provides simple versions of the lifecycle methodsinit
anddestroy
and of the methods in theServletConfig
interface.GenericServlet
also implements thelog
method, declared in theServletContext
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 aString
containing the value of the named initialization parameter, ornull
if the parameter does not exist.java.util.Enumeration<java.lang.String>
getInitParameterNames()
Returns the names of the servlet's initialization parameters as anEnumeration
ofString
objects, or an emptyEnumeration
if the servlet has no initialization parameters.ServletConfig
getServletConfig()
Returns this servlet'sServletConfig
object.ServletContext
getServletContext()
Returns a reference to theServletContext
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 callsuper.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 givenThrowable
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.
-
-
-
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. SeeServlet.destroy()
.
-
getInitParameter
public java.lang.String getInitParameter(java.lang.String name)
Returns aString
containing the value of the named initialization parameter, ornull
if the parameter does not exist. SeeServletConfig.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 interfaceServletConfig
- Parameters:
name
- aString
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 anEnumeration
ofString
objects, or an emptyEnumeration
if the servlet has no initialization parameters. SeeServletConfig.getInitParameterNames()
.This method is supplied for convenience. It gets the parameter names from the servlet's
ServletConfig
object.- Specified by:
getInitParameterNames
in interfaceServletConfig
- Returns:
- Enumeration an enumeration of
String
objects containing the names of the servlet's initialization parameters
-
getServletConfig
public ServletConfig getServletConfig()
Returns this servlet'sServletConfig
object.- Specified by:
getServletConfig
in interfaceServlet
- Returns:
- ServletConfig the
ServletConfig
object that initialized this servlet - See Also:
Servlet.init(jakarta.servlet.ServletConfig)
-
getServletContext
public ServletContext getServletContext()
Returns a reference to theServletContext
in which this servlet is running. SeeServletConfig.getServletContext()
.This method is supplied for convenience. It gets the context from the servlet's
ServletConfig
object.- Specified by:
getServletContext
in interfaceServletConfig
- Returns:
- ServletContext the
ServletContext
object passed to this servlet by theinit
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. SeeServlet.getServletInfo()
.- Specified by:
getServletInfo
in interfaceServlet
- 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. SeeServlet.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, callsuper.init(config)
.- Specified by:
init
in interfaceServlet
- Parameters:
config
- theServletConfig
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 callsuper.init(config)
.Instead of overriding
init(ServletConfig)
, simply override this method and it will be called byGenericServlet.init(ServletConfig config)
. TheServletConfig
object can still be retrieved viagetServletConfig()
.- 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. SeeServletContext.log(String)
.- Parameters:
message
- aString
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 givenThrowable
exception to the servlet log file, prepended by the servlet's name. SeeServletContext.log(String, Throwable)
.- Parameters:
message
- aString
that describes the error or exceptiont
- thejava.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. SeeServlet.service(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)
.This method is declared abstract so subclasses, such as
HttpServlet
, must override it.- Specified by:
service
in interfaceServlet
- Parameters:
req
- theServletRequest
object that contains the client's requestres
- theServletResponse
object that will contain the servlet's response- Throws:
ServletException
- if an exception occurs that interferes with the servlet's normal operation occurredjava.io.IOException
- if an input or output exception occurs
-
getServletName
public java.lang.String getServletName()
Returns the name of this servlet instance. SeeServletConfig.getServletName()
.- Specified by:
getServletName
in interfaceServletConfig
- Returns:
- the name of this servlet instance
-
-