# Package jakarta.servlet

package jakarta.servlet
The jakarta.servlet package contains a number of classes and interfaces that describe and define the contracts between a servlet class and the runtime environment provided for an instance of such a class by a conforming servlet container.

Related Packages
Package
Description
jakarta.servlet.annotation
jakarta.servlet.descriptor
jakarta.servlet.http
The jakarta.servlet.http package contains a number of classes and interfaces that describe and define the contracts between a servlet class running under the HTTP protocol and the runtime environment provided for an instance of such a class by a conforming servlet container.
Class
Description
AsyncContext
Provides the context for asynchronous request handling
AsyncEvent
Used to pass data to the methods of `AsyncListener`.
AsyncListener
Listener for events associated with an `AsyncContext`.
DispatcherType
Enumeration of dispatcher types.
Filter
A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.
FilterChain
A FilterChain is an object provided by the servlet container to the developer giving a view into the invocation chain of a filtered request for a resource.
FilterConfig
A filter configuration object used by a servlet container to pass information to a filter during initialization.
FilterRegistration
Interface through which a Filter may be further configured.
FilterRegistration.Dynamic
Interface through which a Filter registered via one of the addFilter methods on ServletContext may be further configured.
GenericFilter
Provides a base class that implements the Filter and FilterConfig interfaces to reduce boilerplate when writing new filters.
GenericServlet
Defines a generic, protocol-independent servlet.
HttpConstraintElement
Equivalent of `HttpConstraint` for programmatic configuration of security constraints.
HttpMethodConstraintElement
Programmatic equivalent of a security constraint defined for a single HTTP method.
MultipartConfigElement
The programmatic equivalent of `MultipartConfig` used to configure multi-part handling for a Servlet when registering a Servlet via code.
ReadListener
Receives notification of read events when using non-blocking IO.
Registration
Common interface for the registration of Filters and Servlets.
Registration.Dynamic
Interface through which a Servlet or Filter registered via one of the addServlet or addFilter methods, respectively, on ServletContext may be further configured.
RequestDispatcher
Defines an object that receives requests from the client and sends them to any resource (such as a servlet, HTML file, or JSP file) on the server.
Servlet
Defines methods that all servlets must implement.
ServletConfig
A servlet configuration object used by a servlet container to pass information to a servlet during initialization.
ServletConnection
Provides information about the connection made to the Servlet container.
ServletContainerInitializer
ServletContainerInitializers (SCIs) are registered via an entry in the file META-INF/services/jakarta.servlet.ServletContainerInitializer that must be included in the JAR file that contains the SCI implementation.
ServletContext
Defines a set of methods that a servlet uses to communicate with its servlet container, for example, to get the MIME type of a file, dispatch requests, or write to a log file.
ServletContextAttributeEvent
This is the event class for notifications about changes to the attributes of the servlet context of a web application.
ServletContextAttributeListener
Implementations of this interface receive notifications of changes to the attribute list on the servlet context of a web application.
ServletContextEvent
This is the event class for notifications about changes to the servlet context of a web application.
ServletContextListener
Implementations of this interface receive notifications about changes to the servlet context of the web application they are part of.
ServletException
Defines a general exception a servlet can throw when it encounters difficulty.
ServletInputStream
Provides an input stream for reading binary data from a client request, including an efficient `readLine` method for reading data one line at a time.
ServletOutputStream
Provides an output stream for sending binary data to the client.
ServletRegistration
Interface through which a Servlet may be further configured.
ServletRegistration.Dynamic
Interface through which a Servlet registered via one of the addServlet methods on ServletContext may be further configured.
ServletRequest
Defines an object to provide client request information to a servlet.
ServletRequestAttributeEvent
This is the event class for notifications of changes to the attributes of the servlet request in an application.
ServletRequestAttributeListener
A ServletRequestAttributeListener can be implemented by the developer interested in being notified of request attribute changes.
ServletRequestEvent
Events of this kind indicate lifecycle events for a ServletRequest.
ServletRequestListener
A ServletRequestListener can be implemented by the developer interested in being notified of requests coming in and out of scope in a web component.
ServletRequestWrapper
Provides a convenient implementation of the ServletRequest interface that can be subclassed by developers wishing to adapt the request to a Servlet.
ServletResponse
Defines an object to assist a servlet in sending a response to the client.
ServletResponseWrapper
Provides a convenient implementation of the ServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet.
ServletSecurityElement
The programmatic equivalent of `ServletSecurity` used to configre security constraints for a Servlet.
SessionCookieConfig
Configures the session cookies used by the web application associated with the ServletContext from which this SessionCookieConfig was obtained.
SessionTrackingMode
Defines the permitted options for configuring the session tracking mode.
UnavailableException
Defines an exception that a servlet or filter throws to indicate that it is permanently or temporarily unavailable.
WriteListener
Receives notification of write events when using non-blocking IO.