All Classes and Interfaces

Class
Description
Configuration settings for abandoned object removal.
Tracks connection usage for recovering and reporting abandoned connections.
Title: Membership - Absolute Order
 
Abstract implementation of the Valve interface that generates a web server access log with the detailed line contents matching a configurable pattern.
AccessLogElement writes the partial message into the buffer.
write bytes sent, excluding HTTP headers - %b, %B
Marks an AccessLogElement as needing to be have the value cached at the start of the request rather than just recorded at the end as the source data for the element may not be available at the end of the request.
Write connection status when response is completed - %X
write a specific cookie - %{xxx}c
Cache structure for formatted timestamps based on seconds.
write time taken to process the request - %D, %T
write time until first byte is written (commit time) in millis - %F
write incoming headers - %{xxx}i
write HTTP status code of the response - %s
write local IP address - %A
write remote logical username from identd (always returns '-') - %l
write request method (GET, POST, etc.) - %m
write Query string (prepended with a '?'
write an attribute in the ServletRequest - %{xxx}r
write first line of the request (method and request URI) - %r
write requested URL path - %U
write a specific response header - %{xxx}o
write an attribute in the HttpSession - %{xxx}s
write user session ID - %S
write any string
write thread name - %I
write remote user that was authenticated (if any), else '-' - %u
The is the base implementation for the AJP protocol handlers.
 
 
 
Abstract base class for Ant tasks that interact with the Manager web application for dynamically deploying and undeploying applications.
Base class for the *Chunk implementation to reduce duplication.
Abstraction interceptor.
 
 
 
Different types of socket states to react upon.
 
Convenience base class for Group implementations.
 
 
Base implementation of Jar for implementations that use a JarInputStream to access the JAR file.
 
Abstract base class for ObjectCreationFactory implementations.
Provides functionality and attributes common to all supported protocols (currently HTTP and AJP) for processing a single request/response.
This is a light-weight abstract processor implementation that is intended as a basis for all Processor implementations from the light-weight upgrade processors to the HTTP/AJP processors.
 
 
 
Abstract class that wraps statements and intercepts query executions.
 
 
 
 
 
 
 
Convenience base class for Role implementations.
 
 
 
Base class for a WebResourceSet based on a single, rather than nested, archive.
 
Convenience base class for User implementations.
 
 
 
 
Intended for use by a Valve to indicate that the Valve provides access logging.
A helper class that wraps several AccessLog instances.
This is a concrete implementation of AbstractAccessLogValve that outputs the access log to a file.
ActionCodes represent callbacks from the servlet container to the coyote connector.
Action hook.
Adapter.
Filter that explicitly sets the default character set for media subtypes of the "text" type to ISO-8859-1, or another user defined character set.
Wrapper that adds a character set for text media types if no character set is specified.
 
A single packet for communication between the web server and the container.
This the NIO2 based protocol handler implementation for AJP.
This the NIO based protocol handler implementation for AJP.
AJP Processor implementation.
 
Represents one annotation in the annotation table
base class for annotations
Main JSP compiler class.
 
 
Callback interface to be able to expand buffers when buffer overflow exceptions happen or to replace buffers
Standard implementation of ServletContext that represents a web application's execution environment.
Facade object which masks the internal ApplicationContext object from the web application.
Implementation of jakarta.servlet.FilterChain used to manage the execution of a set of filters for a particular request.
Implementation of a jakarta.servlet.FilterConfig useful in managing the filter instances instantiated when a web application is first started.
Factory for the creation and caching of Filters and creation of Filter Chains.
 
 
Representation of a context initialization parameter that is configured in the server configuration file, rather than the application deployment descriptor.
Adaptor to allow FileItem objects generated by the package renamed commons-upload to be used by the Servlet 3.0 upload API that expects Parts.
 
 
 
Implementation of LifecycleListener that will init and and destroy APR.
Holds APR status without the need to load other classes.
 
 
 
Imported copy of the ArrayStack class from Commons Collections, which was the only direct dependency from Digester.
This class implements some basic ASCII character handling functions.
This is a very basic ASN.1 parser that provides the limited functionality required by Tomcat.
 
This is a utility class that enables multiple WsWebSocketContainer instances to share a single AsynchronousChannelGroup while ensuring that the group is destroyed when no longer required.
This is a wrapper for a AsynchronousSocketChannel that limits the methods available thereby simplifying the process of implementing SSL/TLS support since there are fewer methods to intercept.
Generally, just passes calls straight to the wrapped AsynchronousSocketChannel.
Wraps the AsynchronousSocketChannel with SSL/TLS.
Provides a mechanism for the Coyote connectors to communicate with the AsyncContext.
 
 
A FileHandler implementation that uses a queue of log entries.
 
Internal configuration information for an Attribute descriptor.
Converts a JSP attribute value into the unquoted equivalent.
 
This Realm is intended for use with Authenticator implementations (SSLAuthenticator, SpnegoAuthenticator) that authenticate the user as well as obtain the user credentials.
 
Exception thrown on authentication error connecting to a remote websocket endpoint.
 
An Authenticator is a component (usually a Valve or Container) that provides some sort of authentication service.
Base class for the authentication methods used by the WebSocket client.
Basic implementation of the Valve interface that enforces the <security-constraint> elements in the web application deployment descriptor.
 
Utility method to return the appropriate authenticator according to the scheme that the server uses.
Parser for an "Authorization" header.
NIO based character decoder.
 
Provides a background processing mechanism that triggers roughly once a second.
Base class providing common implementation for back-port utilities.
Generates a set of English property files to back-port updates to a previous version.
Generates a set of translated property files to back-port updates to a previous version.
 
Extend IOException to identify it as being caused by a bad request from a remote client.
Deprecated.
Unused.
Implementation of NotificationFilter for attribute change notifications.
 
Base class that provides common functionality for GenericObjectPool and GenericKeyedObjectPool.
Basic implementation of the DynamicMBean interface, which supports the minimal requirements of the interface contract.
Deprecated.
Unused.
Implementation of NotificationBroadcaster for attribute change notifications.
A base class for common functionality.
A simple base implementation of ObjectPool.
Provides the implementation for the common attributes shared by the sub-classes.
Abstract base class to add output redirection support for Catalina Ant tasks.
An Authenticator and Valve implementation of HTTP BASIC Authentication, as outlined in RFC 7617: "The 'Basic' HTTP Authentication Scheme"
Authenticator supporting the BASIC authentication method.
Parser for an HTTP Authorization header for BASIC authentication as per RFC 2617 section 2, and the Base64 encoded credentials as per RFC 2045 section 6.8.
Basic implementation of javax.sql.DataSource that is configured via JavaBeans properties.
JNDI object factory that creates an instance of BasicDataSource that has been configured based on the RefAddr values of the specified Reference, which must match the names and data types of the BasicDataSource bean properties with the following exceptions: connectionInitSqls must be passed to this factory as a single String using semicolon to delimit the statements whereas BasicDataSource requires a collection of Strings.
Interface to keep API compatibility.
BasicManagedDataSource is an extension of BasicDataSource which creates ManagedConnections.
Object factory for any Resource conforming to the JavaBean spec.
Repository of {page, request, session, application}-scoped beans
Write text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.
Bootstrap loader for Catalina.
Provides utilities related to the use of directly allocated ByteBuffer instances with native code.
Input filter responsible for reading and buffering the request body, so that it does not interfere with client SSL handshake messages.
 
This class implements an output stream in which the data is written into a byte array.
Class that extends ServletOutputStream, used as a wrapper from within SsiInclude
Simple wrapper for a ByteBuffer that remembers if the buffer has been flipped or not.
 
This class is used to represent a chunk of bytes, and utilities to manipulate byte[].
 
Input interface, used when the buffer is empty.
When we need more space we'll either grow the buffer ( up to the limit ) or send it to a channel.
A byte message is not serialized and deserialized by the channel instead it is sent as a byte array.
NIO based character encoder.
 
This class is designed to wrap a 'raw' WebResource and providing caching for expensive operations.
Default implementation of a JASPIC CallbackHandler.
Rule implementation that calls a method on an object on the stack (normally the top/parent object), passing arguments collected from subsequent CallParamRule rules or from the body of this element.
Rule implementation that saves a parameter for use by a surrounding CallMethodRule.
Strategy for obtaining and printing the current call stack.
Utility methods for CallStack.
A Map implementation that uses case-insensitive (using Locale.ENGLISH) strings as keys.
Startup/Shutdown shell program for Catalina.
 
 
A CatalinaCluster interface allows to plug in and out the different cluster implementations
Generate Cluster Element with Membership,Sender,Receiver,Deployer and ReplicationValve
Utility class to read the bootstrap Catalina configuration.
 
Rule implementation that creates an SSLHostConfigCertificate.
Store the Certificate attributes.
 
Is called during handshake and hooked into openssl via SSL_CTX_set_cert_verify_callback.
CGI-invoking servlet for web applications, used to execute scripts which comply to the Common Gateway Interface (CGI) specification and are named in the path-info used to invoke this servlet.
This is an input stream specifically for reading HTTP headers.
A channel is a representation of a group of nodes all participating in some sort of communication with each other.
The channel coordinator object coordinates the membership service, the sender and the receiver.
The ChannelData object is used to transfer a message through the channel interceptor stack and eventually out on a transport to be sent to another node.
A channel exception is thrown when an internal error happens somewhere in the channel.
Represent a failure to a specific member when a message was sent to more than one member
A ChannelInterceptor is an interceptor that intercepts messages and membership messages in the channel stack.
 
Abstract class for the interceptor base class.
An interface to listens to incoming messages from a channel.
Message that is passed through the interceptor stack after the data serialized in the Channel object and then passed down to the interceptor and eventually down to the ChannelSender component.
The ChannelReceiver interface is the data receiver component at the bottom layer, the IO layer (for layers see the Channel interface).
The ChannelSender interface is the data sender component at the bottom layer, the IO layer (for layers see the Channel interface).
Generate Channel Element
Utilities to manipulate char chunks.
Input interface, used when the buffer is empty.
When we need more space we'll either grow the buffer ( up to the limit ) or send it to a channel.
 
Utility class that attempts to map from a Locale to the corresponding character set to be used for interpreting input text (or generating output text) when the Content-Type header does not include one.
 
Ant task that checks that all the files in the given fileset have end-of-line delimiters that are appropriate.
 
Chunked input filter.
Chunked output filter.
All the standard cipher suites for SSL/TSL.
 
Thrown when the BCEL attempts to read a class file and determines that a class is malformed or otherwise cannot be interpreted as a class file.
Utility class for building class loaders for Catalina.
 
 
Per classloader LogManager implementation.
 
 
This class is needed to instantiate the root of each per classloader hierarchy.
 
A convenience base class for ModelMBean implementations where the underlying base class (and therefore the set of supported properties) is different for varying implementations of a standard interface.
Wrapper class that parses a given Java .class file.
 
Extend IOException to identify it as being caused by an abort of a request by a remote client.
 
Interface of an object, which may be closed.
This exception is thrown to signal to the Tomcat internals that an error has occurred that requires the connection to be closed.
 
A MembershipService that uses Kubernetes API(default) or DNS to retrieve the members of a cluster.
 
A Cluster works as a Cluster client/server for the local host Different Cluster implementations can be used to support different ways to communicate within the Cluster.
A ClusterDeployer interface allows to plug in and out the different deployment implementations
Receive SessionID cluster change from other backup node after primary session node is failed.
The common interface used by all cluster manager.
 
 
 
RuleSet for processing the contents of a Cluster definition element.
 
Receive replicated SessionMessage form other cluster node.
A Valve that supports a "single sign on" user experience on each nodes of a cluster, where the security identity of a user who successfully authenticates to one web application is propagated to other web applications and to other nodes cluster in the same security domain.
Cluster extension of SingleSignOnListener that simply adds the marker interface ReplicatedSessionListener which allows the listener to be replicated across the cluster along with the session.
Cluster valves are a simple extension to the Tomcat valve architecture with a small addition of being able to reference the cluster component in the container it sits in.
 
Realm implementation that contains one or more realms.
Main JSP compiler class.
 
 
 
A thread safe wrapper around SimpleDateFormat that does not make use of ThreadLocal and - broadly - only creates enough SimpleDateFormat objects to satisfy the concurrency requirements.
 
A thread safe wrapper around MessageDigest that does not make use of ThreadLocal and - broadly - only creates enough MessageDigest objects to satisfy the concurrency requirements.
This class is used to obtain InputStreams for configuration files from a given location String.
Abstracts configuration file storage.
Represents a resource: a stream to the resource associated with its URI.
Abstract factory interface for creating Connections.
Implementation of simple connection pool.
 
 
 
Interceptor that keep track of connection state to avoid roundtrips to the database.
Implementation of a Coyote connector.
Rule implementation that creates a connector.
A ModelMBean implementation for the org.apache.coyote.tomcat5.CoyoteConnector component.
Store Connector and Listeners
Store the Connector attributes.
Constants for the project, mostly defined in the JVM specification.
Abstract superclass for classes to represent the different constant types in the constant pool of a class file.
This class is derived from the abstract Constant and represents a reference to a (external) class.
This class is derived from the abstract Constant and represents a reference to a Double object.
This class is derived from the abstract Constant and represents a reference to a float object.
This class is derived from the abstract Constant and represents a reference to an int object.
This class is derived from the abstract Constant and represents a reference to a long object.
This class represents the constant pool, i.e., a table of constants, of a parsed classfile.
 
 
Manifest constants for this Java package.
Manifest constants for the org.apache.catalina.ha.tcp package.
 
 
Static constants for this package.
 
Manifest constants for the org.apache.catalina.session package.
String constants for the startup package.
 
Manifest constants for the org.apache.catalina.tribes.membership package.
Manifest constants for the org.apache.catalina.tribes.transport package.
Manifest constants for this Java package.
Manifest constants for the org.apache.catalina.valves package.
Constants.
Constants.
Constants.
 
Some constants and other global data that are used by the compiler and the runtime.
Static constants for this package.
 
Constants.
 
 
 
String constants for the scan package.
Static constants for this package.
Internal implementation constants.
Internal implementation constants.
Internal implementation constants.
 
Extends the abstract Constant to represent a reference to a UTF-8 encoded string.
Decoupling interface which specifies that an implementing class is associated with at most one Container instance.
A Container is an object that can execute requests received from a client, and return responses based on those requests.
Abstract implementation of the Container interface, providing common functionality required by nearly every implementation.
General event for notifying listeners of significant changes on a Container.
Interface defining a listener for significant Container generated events.
 
A ContainerServlet is a servlet that has access to Catalina internal functionality, and is loaded from the Catalina class loader instead of the web application class loader.
 
A Context is a Container that represents a servlet context, and therefore an individual web application, in the Catalina servlet engine.
Handles the access control on the JNDI contexts.
 
Handles the associations : Object with a NamingContext Calling thread with a NamingContext Calling thread with object bound to the same naming context Thread context class loader with a NamingContext Thread context class loader with object bound to the same NamingContext The objects are typically Catalina Server or Context objects.
Startup event listener for a Context that configures the properties of that Context, and the associated defined servlets.
 
Representation of an EJB resource reference for a web application, as represented in a <ejb-ref> element in the deployment descriptor.
Representation of an application environment entry, as represented in an <env-entry> element in the deployment descriptor.
A ModelMBean implementation for the org.apache.tomcat.util.descriptor.web.ContextEnvironment component.
Representation of a handler reference for a web service, as represented in a <handler> element in the deployment descriptor.
Representation of a local EJB resource reference for a web application, as represented in a <ejb-local-ref> element in the deployment descriptor.
 
Utility class to manage context names so there is one place where the conversions between baseName, path and version take place.
Implementation of LifecycleListener that will create context naming information environment entries.
Representation of a resource reference for a web application, as represented in a <resource-ref> element in the deployment descriptor.
Representation of an application resource reference, as represented in an <res-env-refy> element in the deployment descriptor.
Representation of a resource link for a web application, as represented in a <ResourceLink> element in the server configuration file.
A ModelMBean implementation for the org.apache.tomcat.util.descriptor.web.ContextResourceLink component.
A ModelMBean implementation for the org.apache.tomcat.util.descriptor.web.ContextResource component.
RuleSet for processing the contents of a Context definition element.
Representation of a web service reference for a web application, as represented in a <service-ref> element in the deployment descriptor.
Representation of an application resource reference, as represented in an <res-env-refy> element in the deployment descriptor.
Defines timing options for responding to requests that contain a '100-continue' expectations.
Cookie header parser based on RFC6265
 
 
 
Rule that copies the parentClassLoader property from the next-to-top item on the stack (which must be a Container) to the top item on the stack (which must also be a Container).
A Filter that enable client-side cross-origin requests by implementing W3C's CORS (Cross-Origin Resource Sharing) specification for resources.
Enumerates varies types of CORS requests.
Implementation of a request processor which delegates the processing to a Coyote processor.
This class handles reading bytes.
Coyote implementation of the servlet output stream.
Generic implementation of java.security.Principal that is used to represent principals authenticated at the protocol handler level.
Coyote implementation of the buffered reader.
Coyote implementation of the servlet writer.
Web crawlers can trigger the creation of many thousands of sessions as they crawl a site which may result in significant memory consumption.
This interface is used by the Realm to compare the user provided credentials with the credentials stored in the Realm for that user.
RuleSet for processing the contents of a CredentialHandler definition element.
Store server.xml Element CredentialHandler
Provides basic CSRF protection for a web application.
 
Despite its name, this is a FIFO cache not an LRU cache.
A no-nonce Predicate that evaluates a MIME type instead of a URL.
 
A no-nonce Predicate that matches a regular expression.
A no-nonce Predicate that matches a prefix.
A no-nonce Predicate that matches a suffix.
 
Custom subclass of ObjectInputStream that loads from the class loader for this web application.
 
A DataSource that can be instantiated through IoC and implements the DataSource interface since the DataSourceProxy is used as a generic proxy.
A DataSource-based implementation of ConnectionFactory.
JNDI object factory that creates an instance of BasicDataSource that has been configured based on the RefAddr values of the specified Reference, which must match the names and data types of the BasicDataSource bean properties.
Object factory for resource links for shared data sources.
Simple wrapper class that will allow a user to configure a ResourceLink for a data source so that when DataSource.getConnection() is called, it will invoke DataSource.getConnection(String, String) with the preconfigured username and password.
Defines the methods that will be made available via JMX.
The DataSource proxy lets us implements methods that don't exist in the current compiler JDK but might be methods that are part of a future JDK DataSource interface.
Implementation of Realm that works with any JDBC JNDI DataSource.
Implementation of the Store interface that stores serialized session objects in a database.
UserDatabase backed by a data source.
JNDI object creation factory for DataSourceUserDatabase instances.
A ModelMBean implementation for the org.apache.catalina.users.DataSourceUserDatabase component.
An implementation of XAConnectionFactory which uses a real XADataSource to obtain connections and XAResources.
Cache structure for SimpleDateFormat formatted timestamps based on seconds.
 
Provides the default implementation of EvictionPolicy used by the pools.
 
This wrapper is used to track the additional information, such as state, for the pooled objects.
Implementation of object that is used to provide information on pooled objects via JMX.
The interface that defines the information about pooled objects that will be exposed via JMX.
 
The default resource-serving servlet for most web applications, used to serve static resources such as HTML pages and images.
 
An output stream which will retain data in memory until a specified threshold is reached, and only then commit it to disk.
A base delegating implementation of CallableStatement.
A base delegating implementation of Connection.
A base delegating implementation of DatabaseMetaData.
A base delegating implementation of PreparedStatement.
A base delegating implementation of ResultSet.
A base delegating implementation of Statement.
The DeltaManager manages replicated sessions by only replicating the deltas in data.
This class is used to track the series of actions that happens when a request is executed.
Similar to the StandardSession except that this session will keep track of deltas during a request.
Ant task that implements the /deploy command, supported by the Tomcat manager application.
Grant this permission to a docBase to permit the web application to use any META-INF/context.xml that might be present with in the application when deployXML has been disabled at the Host level.
Destroy context provided to object factories via destroyObject and invalidateObject methods.
 
An Authenticator and Valve implementation of HTTP DIGEST Authentication, as outlined in RFC 7616: "HTTP Digest Authentication"
Authenticator supporting the DIGEST authentication method.
This enum exists because RFC 7616 and Java use different names for some digests.
 
 
Base implementation for the Tomcat provided CredentialHandlers.
A Digester processes an XML input stream by matching a series of element nesting patterns to execute Rules that have been added prior to the start of parsing.
 
Wrapper class around the Digester that hide Digester's initialization details.
Byte array output stream that exposes the byte array directly
Represents a WebResourceSet based on a directory.
The default implementation of the FileItem interface.
The default FileItemFactory implementation.
This enumeration lists the different types of dispatches that request processing can trigger.
A DisposableConnectionFacade object is the top most interceptor that wraps an object of type PooledConnection.
Interface implemented by session managers that do not keep a complete copy of all sessions in memory but do know where every session is.
A MembershipProvider that uses DNS to retrieve the members of a cluster.
A collection of interfaces, one per property, that enables the object being populated by the digester to signal to the digester that it supports the given property and that the digester should populate that property if available.
The character encoding used by the source XML document.
Filters membership based on domain.
 
A DOM writer optimised for use by WebDAV.
An adapter for JDBC drivers that do not include an implementation of ConnectionPoolDataSource, but still include a DriverManager implementation.
A Driver-based implementation of ConnectionFactory.
A DriverManager-based implementation of ConnectionFactory.
 
Object factory for EJBs.
Represents a reference address to an EJB.
A helper class of Arithmetic defined by the EL Specification
 
 
 
 
Implementation of ELContext
Simple ELContextWrapper for runtime evaluation of EL w/ dynamic FunctionMappers
The element_value structure is documented at https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html#jvms-4.7.16.1
An annotation's element value pair.
This class generates functions mappers for the EL expressions in the page.
Defines the interface for the expression language interpreter.
Provides ELInterpreter instances for JSP compilation.
 
A non-specification compliant ELInterpreter that optimizes a subset of setters for tag attributes.
This class implements a parser for EL expressions.
Deprecated.
A helper class that implements the EL Specification
A class to hold all init parameters specific to the JSP engine.
 
A WebResourceSet implementation that is not backed by a file system and behaves as if it has no resources available.
 
Adds encryption using a pre-shared key.
 
 
 
 
 
An Engine is a Container that represents the entire Catalina servlet engine.
Startup event listener for an Engine that configures the properties of that Engine, and the associated defined contexts.
RuleSet for processing the contents of a Engine definition element.
 
 
A IntrospectionUtils.SecurePropertySource that uses environment variables to resolve expressions.
Class responsible for dispatching JSP parse and javac compilation errors to the configured error handler.
The ErrorHandler class is used when sending messages that are sent asynchronously and the application still needs to get confirmation when the message was sent successfully or when a message errored out.
Interface for handling JSP parse and javac compilation errors.
Representation of an error page element for a web application, as represented in a <error-page> element in the deployment descriptor.
Provides support for tracking per exception type and per HTTP status code error pages.
Implementation of a Valve that outputs HTML error pages.
 
Provides utility methods to escape content for different contexts.
 
This class is used by pool implementations to pass configuration information to EvictionPolicy instances.
To provide a custom eviction policy (i.e. something other than DefaultEvictionPolicy for a pool, users must provide an implementation of this interface that provides the required eviction policy.
Utilities for handling Throwables and Exceptions.
Utilities for handling Throwables and Exceptions.
Utilities for handling Throwables and Exceptions.
Utilities for handling Throwables and Exceptions.
 
 
Expand out a WAR in a Host's appBase.
ExpiresFilter is a Java Servlet API port of Apache mod_expires to add 'Expires' and 'Cache-Control: max-age=' headers to HTTP response according to its 'Content-Type'.
Duration unit
Main piece of configuration of the filter.
Expiration configuration starting point.
 
Deprecated.
 
Deprecated.
Represents a parsed expression.
Parses an expression string to return the individual tokens.
An implementation of the W3c Extended Log File Format.
 
 
 
 
 
 
write a specific response header - x-O(xxx)
 
 
 
 
Extension to the RpcCallback interface.
If the main resources are packaged as a WAR file then any JARs will be extracted to the work directory and used from there.
Abstract base class that provides common functionality required by sub-classes.
Rule implementation that uses an ObjectCreationFactory to create a new object which it pushes onto the object stack.
An implementation of Context that is used as a place-holder for deployed applications when their deployment fails and a Context instance (usually StandardContext but may be any Context implementation) cannot be created.
Filter that will reject requests if there was a failure during parameter parsing.
A simple implementation of a blocking queue with fairness waiting.
A farm war deployer is a class that is able to deploy/undeploy web applications in WAR from within the cluster.
Utility class to generate HTTP dates.
A RateLimiter that compromises accuracy for speed in order to provide maximum throughput.
The FastRemovalDequeue is a Dequeue that supports constant time removal of entries.
Convenience base class for AttributeInfo and OperationInfo classes that will be used to collect configuration information for the ModelMBean beans exposed for management.
 
This exception is thrown if a request contains more files than the specified limit.
Implementation of Handler that appends log messages to a file named {prefix}{date}{suffix} in a configured directory.
 
Tomcat Native 1.2.33 and earlier won't initialise unless this class is present.
This class represents a file or form item that was received within a multipart/form-data POST request.
A factory interface for creating FileItem instances.
This class provides support for accessing the headers for a file or form item that was received within a multipart/form-data POST request.
Default implementation of the FileItemHeaders interface.
Interface that will indicate that FileItem or FileItemStream implementations will accept the headers read for the item.
The iterator, which is returned by FileUploadBase.getItemIterator(RequestContext).
This interface provides access to a file or form item that was received within a multipart/form-data POST request.
This exception is thrown, if an attempt is made to read data from the InputStream, which has been returned by FileItemStream.openStream(), after Iterator.hasNext() has been invoked on the iterator, which created the FileItemStream.
Default implementation of FileItemStream.
Contains the data for a file being transferred over TCP, this is essentially a fragment of a file, read and written by the FileMessageFactory.
This factory is used to read files and write files by splitting them up into smaller messages.
Represents a single resource (file or directory) that is located on a file system.
Represents a WebResourceSet based on a single file.
Thrown to indicate that A files size exceeds the configured maximum.
Concrete implementation of the Store interface that utilizes a file per saved Session in a configured directory.
High level API for processing file uploads.
High level API for processing file uploads.
Exception for errors encountered while processing the request.
This exception is thrown for hiding an inner FileUploadException in an IOException.
General file manipulation utilities.
Base class for filters that provides generic initialisation and a simple no-op destruction.
Representation of a filter definition for a web application, as represented in a <filter> element in the deployment descriptor.
Representation of a filter mapping for a web application, as represented in a <filter-mapping> element in the deployment descriptor.
General purpose utility methods related to filters and filter processing.
Ant task that implements the /findleaks command, supported by the Tomcat manager application.
 
 
An Authenticator and Valve implementation of FORM BASED Authentication, as described in the Servlet API Specification.
 
The fragmentation interceptor splits up large messages into smaller messages and assembles them on the other end.
 
 
 
Callback handling a web-fragment.xml descriptor.
This listener must be declared in server.xml as a Server listener, possibly optional.
 
 
Deprecated.
 
Concrete implementation of Group for a UserDatabase.
A configurable KeyedObjectPool implementation.
A simple structure encapsulating the configuration for a GenericKeyedObjectPool.
Defines the methods that will be made available via JMX.
Simple way of configuring generic resources by using reflection.
A configurable ObjectPool implementation.
A simple structure encapsulating the configuration for a GenericObjectPool.
Defines the methods that will be made available via JMX.
Generic implementation of java.security.Principal that is available for use by Realm implementations.
Concrete implementation of Role for a UserDatabase.
Concrete implementation of User for a UserDatabase.
store server.xml GlobalNamingResource.
Implementation of LifecycleListener that instantiates the set of MBeans associated with global JNDI resources that are subject to management.
Global constants that are applicable to multiple packages within Catalina.
Abstract representation of a group of Users in a UserDatabase.
The default implementation of a Channel.
The GroupChannel manages the replication channel.
An iterator to loop through the interceptors in a channel.
 
A ModelMBean implementation for the org.apache.catalina.Group component.
 
 
Gzip output filter.
 
Represents a reference handler for a web service.
Exception used to mark the specific error condition of the HTTP headers exceeding the maximum permitted size.
 
Simple Valve that responds to cloud orchestrators health checks.
Can be implemented by the ChannelListener and Membership listeners to receive heartbeat notifications from the Channel
 
Tables useful when converting byte arrays to and from strings of hexadecimal digits.
Concrete implementation of the UserDatabase interface considers all directories in a directory whose pathname is specified to our constructor to be "home" directories for those users.
A Host is a Container that represents a virtual host in the Catalina servlet engine.
 
Startup event listener for a Host that configures the properties of that Host, and the associated defined contexts.
This class represents the state of a deployed application, as well as the monitored resources.
Servlet that enables remote management of the virtual hosts installed on the server.
RuleSet for processing the contents of a Host definition element.
A decoder for HPACK.
 
 
Servlet that enables remote management of the virtual hosts deployed on the server.
Servlet that enables remote management of the web applications deployed within the same virtual host as this web application is.
InputBuffer for HTTP that provides request header parsing as well as transfer encoding.
HTTP/1.1 protocol implementation using NIO2.
HTTP/1.1 protocol implementation using NIO.
Provides buffering for the HTTP headers (allowing responses to be reset before they have been committed) and the link to the Socket for writing the headers (once committed) and the response body.
 
 
 
 
 
 
 
 
Provides a single configuration point for security measures that required the addition of one or more HTTP headers to the response.
This is the super class of all JSP-generated servlets.
 
HTTP header value parser implementation.
Identity input filter.
Identity output filter.
 
RulesSet for digesting implicit.tld files.
 
 
 
 
 
The buffer used by Tomcat request.
This class is only for internal use in the protocol implementation.
Input filter interface.
 
 
The base class for SharedPoolDataSource and PerUserPoolDataSource.
 
 
 
Specifies a class loader capable of being decorated with ClassFileTransformers.
 
Generate Interceptor Element
This Tomcat specific interface is implemented by handlers that require direct access to Tomcat's I/O layer rather than going through the Servlet API.
 
 
 
 
 
Provides introspection utilities that either require knowledge of Tomcat internals or are solely used by Tomcat internals.
Utils for introspection and reflection
 
 
Thrown to indicate that the request is not a multipart request.
This exception is thrown in case of an invalid file name.
Thrown to indicate an IOException.
Contains commonly needed I/O-related methods
General IO stream manipulation utilities.
IPv6 utilities.
 
 
Implementation of the JAAS CallbackHandler interface, used to negotiate delivery of the username and credentials that were specified to our constructor.
Implementation of the JAAS LoginModule interface, primarily for use in testing JAASRealm.
Implementation of Realm that authenticates users via the Java Authentication and Authorization Service (JAAS).
Provides an abstraction for use by the various classes that need to scan JARs.
This class represents the contents of a jar by determining whether a given resource might be in the cache, based on a bloom filter.
Provide a mechanism to obtain objects that implement Jar.
Implementation of Jar that is optimised for file based JAR URLs that refer directly to a JAR file (e.g URLs of the form jar:file: ... .jar!
Implementation of Jar that is optimised for file based JAR URLs that refer to a JAR file nested inside a WAR (e.g URLs of the form jar:file: ... .war!
Represents a single resource (file or directory) that is located within a JAR.
 
Represents a WebResourceSet based on a JAR file.
 
Scans a web application and classloader hierarchy for JAR files.
This interface is implemented by clients of the JarScanner to enable them to receive notification of a discovered JAR.
Provide a mechanism for Jasper to obtain a reference to the JarScanner implementation.
Store server.xml Element JarScanner
 
Represents a single resource (file or directory) that is located within a JAR that in turn is located in a WAR file.
Represents a WebResourceSet based on a JAR file that is nested inside a packed WAR file.
Jasper-specific CompositeELResolver that optimizes certain functions to avoid unnecessary resolver calls.
Extend ELResolver for Graal to avoid bean info use if possible, as BeanELResolver needs manual reflection configuration.
Base class for all exceptions generated by the JSP engine.
Initializer for the Jasper JSP Engine.
Class loader for loading servlet class files (corresponding to JSP files) and tag handler class files (corresponding to tag files).
Class providing details about a javac compilation error.
Represents a Java class, i.e., the data structures, constant pool, fields, methods and commands contained in a Java .class file.
Context factory for the "java:" namespace.
Defines bridge methods to JDBC 4.1 (Java 7 or above) methods to allow call sites to operate safely (without AbstractMethodError) when using a JDBC driver written for JDBC 4.0 (Java 6 or above).
This Tomcat extension logs server access directly to a database, and can be used instead of the regular file-based access log implemented in AccessLogValve.
Abstract class that is to be extended for implementations of interceptors.
This class is loaded by WebappClassLoaderBase to enable it to deregister JDBC drivers forgotten by the web application.
A more compact formatter.
JDT class compiler.
Ant task that implements the /status command, supported by the mod_jk status (1.2.9) application.
Definition:
 
Create new MBean at JMX JSR 160 MBeans Server.
Definition
Access JMX JSR 160 MBeans Server.
Access JMX JSR 160 MBeans Server.
Query for Mbeans.
Access JMX JSR 160 MBeans Server.
Access JMX JSR 160 MBeans Server.
unregister an MBean at JMX JSR 160 MBeans Server.
 
This interface is implemented by components that will be registered with an MBean server when they are created and unregistered when they are destroyed.
Ant task that implements the JMX Get command (/jmxproxy/?
This servlet will dump JMX attributes in a simple format and implement proxy services for modeler.
Ant task that implements the JMX Query command (/jmxproxy/?
 
Ant task that implements the JMX Set command (/jmxproxy/?
 
Implementation of Realm that works with a directory server accessed via the Java Naming and Directory Interface (JNDI) APIs.
Class holding the connection to the directory plus the associated non thread safe message formats.
A protected class representing a User
An implementation of LifeCycleListener that loads a native library into the JVM.
 
 
 
 
This is the base implementation class for JRE compatibility and provides an implementation based on Java 11.
This is the base implementation class for JRE compatibility and provides an implementation based on Java 11.
Provide a workaround for known places where the Java Runtime environment can cause a memory leak or lock files.
 
 
Access log valve derivative that rewrites entries as JSON.
write any char
Implementation of a Valve that outputs error jsons.
Implementation of JspApplicationContext
Shell for the jspc compiler.
A place holder for various things that are used through out the JSP engine.
Handles the jsp-config element in WEB_INF/web.xml.
 
 
 
Implementation of a JSP Context Wrapper.
Simple ServletContext implementation without HTTP-specific methods.
 
Implementation of JspFactory.
Helper class from which all Jsp Fragment helper classes extend.
Helper JavaBean for JSPs, because JSTL 1.1/EL 2.0 is too dumb to to what I need (call methods with parameters), or I am too dumb to use it correctly. :)
 
 
Representation of a jsp-property-group element in web.xml.
 
 
 
Class for tracking JSP compile time file dependencies when the >%@include file="
Bunch of util methods that are used by code generated for useBean, getProperty and setProperty.
The JSP engine (a.k.a Jasper).
The JSP engine (a.k.a Jasper).
Interface for tracking the source files dependencies, for the purpose of compiling out of date pages.
Provides runtime access to selected compile time directives.
The EL engine needs access to the imports used in the JSP page to configure the ELContext.
This class has all the utility method(s).
 
Wrapper for providing context to ValueExpressions
Write text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.
 
X509KeyManager which allows selection of a specific key pair and certificate chain (identified by their keystore alias name) to be used by the server to authenticate itself to SSL clients.
JSSESupport.
SSLUtil implementation for JSSE.
Valve to handle Tomcat jvmRoute takeover using mod_jk module after node failure.
A "keyed" pooling interface.
An interface defining life-cycle methods for instances to be served by a KeyedObjectPool.
 
 
A MembershipProvider that uses Kubernetes API to retrieve the members of a cluster.
Stores the state required for correct evaluation of lambda expressions.
A smart implementation of a stateful replicated map. uses primary/secondary backup strategy.
 
 
Common interface for component life cycle methods.
Marker interface used to indicate that the instance should only be used once.
Base implementation of the Lifecycle interface that implements the state transition rules for Lifecycle.start() and Lifecycle.stop()
General event for notifying listeners of significant changes on a component that implements the Lifecycle interface.
General purpose exception that is thrown to indicate a lifecycle related problem.
Interface defining a listener for significant events (including "component start" and "component stop" generated by a component that implements the Lifecycle interface.
Rule that creates a new LifecycleListener and associates it with the top object on the stack which must implement Container.
 
The list of valid states for components that implement Lifecycle.
An input stream, which limits its data size.
Shared latch that allows the latch to be acquired a limited number of times after which all subsequent requests to acquire the latch will be placed in a FIFO queue until one of the shares is returned.
Internal interface, similar to the MessageListener but used at the IO base The listen callback interface is used by the replication system when data has been received.
Rule implementation that creates a server listener.
 
An exception wrapping a list of exceptions.
Ant task that implements the /list command, supported by the Tomcat manager application.
A Valve to detect situations where a load-balanced node receiving a request has been deactivated by the load balancer (JK_LB_ACTIVATION=DIS) and the incoming request has no valid session.
A Loader represents a Java ClassLoader implementation that can be used by a Container to load class files (within a repository associated with the Loader) that are designed to be reloaded upon request, as well as a mechanism to detect whether changes have occurred in the underlying repository.
Store Loader Element.
Class responsible for converting error codes to corresponding localized error messages.
A resolver for locally cached XML resources.
An implementation of XAConnectionFactory which manages non-XA connections in XA transactions.
LocalXAResource is a fake XAResource for non-XA connections.
This class extends the CombinedRealm (hence it can wrap other Realms) to provide a user lock out mechanism if there are too many failed authentication attempts in a given period of time.
 
A simple logging interface abstracting logging APIs.
An exception that is thrown only if a suitable LogFactory or Log instance cannot be created by the corresponding factory methods.
This is a modified LogFactory that uses a simple ServiceLoader based discovery mechanism with a default of using JDK based logging.
Representation of a login configuration element for a web application, as represented in a <login-config> element in the deployment descriptor.
Simple class that holds references to global loggers
Object factory for lookups.
Represents a reference to lookup.
Factory class that creates a JNDI named JavaMail Session factory, which can be used for managing inbound and outbound electronic mail messages via JavaMail APIs.
Internal configuration information for a managed bean (MBean) descriptor.
A managed channel interface gives you access to the components of the channels such as senders, receivers, interceptors etc for configurations purposes
Concurrent hash map that holds its keys via weak references.
ManagedConnection is responsible for managing a database connection in a transactional environment (typically called "Container Managed").
The ManagedDataSource is a PoolingDataSource that creates ManagedConnections.
A Manager manages the pool of Sessions that are associated with a particular Context.
Minimal implementation of the Manager interface that supports no session persistence or distributable capabilities.
 
Servlet that enables remote management of the web applications installed within the same virtual host as this web application is.
Store server.xml Manager element
Mapper, which implements the servlet API mapping rules (which are derived from the HTTP rules).
 
 
 
 
 
 
Mapper listener.
Mapping data.
This is a utility class to match file globs.
General helper to dump MBean contents to the log.
 
 
 
Public utility methods in support of the server side MBeans implementation.
A membership implementation using simple multicast.
A membership implementation using simple multicast.
 
 
Deprecated.
Unused.
 
Caches the results of parsing content-type headers.
The Member interface, defines a member in the group.
A membership implementation using simple multicast.
A membership implementation using simple multicast.
Inner class that represents a member entry
The MembershipListener interface is used as a callback to the membership service.
 
 
The MembershipService interface is the membership component at the bottom layer, the IO layer (for layers see the javadoc for the Channel interface).
 
Deprecated.
Use GenericGroup instead.
Simple implementation of Realm that reads an XML file to configure the valid users, passwords, and roles.
Deprecated.
Use GenericRole instead.
RuleSet for recognizing the users defined in the XML file processed by MemoryRealm.
Deprecated.
Use GenericUser instead.
Concrete implementation of UserDatabase that loads all defined users, groups, and roles into an in-memory data structure, and uses a specified XML file for its persistent storage.
JNDI object creation factory for MemoryUserDatabase instances.
A ModelMBean implementation for the org.apache.catalina.users.MemoryUserDatabase component.
This class is used to represent a subarray of bytes in an HTTP message.
Representation of a message destination for a web application, as represented in a <message-destination> element in the deployment descriptor.
Representation of a message destination reference for a web application, as represented in a <message-destination-ref> element in the deployment descriptor.
 
This credential handler supports the following forms of stored passwords: encodedCredential - a hex encoded digest of the password digested using the configured digest {MD5}encodedCredential - a Base64 encoded MD5 digest of the password {SHA}encodedCredential - a Base64 encoded SHA1 digest of the password {SSHA}encodedCredential - 20 byte Base64 encoded SHA1 digest followed by variable length salt.
The message dispatcher is a way to enable asynchronous communication through a channel.
 
 
 
 
 
The listener to be registered with the ChannelReceiver, internal Tribes component.
An Expression that refers to a method on an object.
 
Memory-efficient repository for Mime Headers.
 
Utility class to decode MIME texts.
Source for descriptor data.
Sender to proxies using multicast socket.
EXPERIMENTAL AND NOT YET COMPLETE!
Representation of a the multipart configuration for a servlet.
Low level API for processing file uploads.
Thrown upon attempt of setting an invalid boundary token.
Thrown to indicate that the input stream fails to follow the required syntax.
Internal class, which is used to invoke the ProgressListener.
 
Wraps a list of throwables as a single throwable.
Parses names.
Catalina JNDI Context implementation.
Naming enumeration implementation.
Naming enumeration implementation.
Helper class used to initialize and populate the JNDI context associated with each context and server.
Represents a binding in a NamingContext.
Defines an interface for the object that is added to the representation of a JNDI resource in web.xml to enable it to also be the implementation of that JNDI resource.
Holds and manages the naming resources defined in the Jakarta EE Naming Context and their associated JNDI context.
A ModelMBean implementation for the org.apache.catalina.deploy.NamingResourcesImpl component.
Store server.xml elements Resources at context and GlobalNamingResources
RuleSet for processing the JNDI Enterprise Naming Context resource declaration elements.
 
A class representing a CIDR netmask.
This class maintains a Set of NetMask objects and allows to check if a given IP address is matched by any of the NetMasks, making it easy to create Allow and Deny lists of CIDR networks and hosts.
This class filters duplicate newlines instructions from the compiler output, and therefore from the runtime JSP.
Base class for a SocketChannel wrapper used by the endpoint.
NIO2 endpoint.
 
SendfileData class.
Base class for a SocketChannel wrapper used by the endpoint.
NIO endpoint.
 
PollerEvent, cacheable object for poller events to avoid GC
SendfileData class.
 
 
A worker thread class which can drain channels and echo-back the input.
This class is NOT thread safe and should never be used with more than one thread at a time This is a state machine, handled by the process method States are: NOT_CONNECTED -> connect() -> CONNECTED CONNECTED -> setMessage() -> READY TO WRITE READY_TO_WRITE -> write() -> READY TO WRITE | READY TO READ READY_TO_READ -> read() -> READY_TO_READ | TRANSFER_COMPLETE TRANSFER_COMPLETE -> CONNECTED
An implementation of the MBean registry that effectively disables MBean registration.
Title: Auto merging leader election algorithm
 
 
When using a JarInputStream with an XML parser, the stream will be closed by the parser.
An Authenticator and Valve implementation that checks only security constraints not involving user authentication.
CallStack strategy using no-op implementations of all functionality.
Internal configuration information for a Notification descriptor.
Minimal Realm implementation that always returns null when an attempt is made to validate a user name and password.
Rule implementation that creates a new object and pushes it onto the object stack.
Interface for use with FactoryCreateRule.
A pooling simple interface.
The object reader object is an object used in conjunction with java.nio TCP messages.
 
Provides same information as default log format but on a single line to make it easier to grep the logs.
Object factory for EJBs.
Class in charge with parsing openSSL expressions to define a list of ciphers.
 
 
Store OpenSSLConf
 
 
Implementation of LifecycleListener that will do the global initialization of OpenSSL according to specified configuration parameters.
OpenSSL specific SSLSessionContext implementation.
Stats exposed by an OpenSSL session context.
Holds OpenSSL status without the need to load other classes.
OpenSSL library variant that has been identified
 
Internal configuration information for an Operation descriptor.
 
A class to hold all init parameters specific to the JSP engine.
The order interceptor guarantees that messages are received in the same order they were sent.
 
 
 
 
The buffer used by Tomcat response.
Output buffer.
Output filter.
Implementation of the PageContext class from the JSP spec.
 
 
 
Internal configuration information for a Parameter descriptor.
Implementation of java.util.Map that includes a locked property.
A simple parser intended to parse sequences of name/value pairs.
 
 
Concrete implementation of the UserDatabase interface that processes the /etc/passwd file on a Unix system.
RFC 1421 PEM file containing X509 certificates or private keys.
 
 
This interface is implemented by components to enable privileged code to check whether the component has a given permission.
Implementation of the Manager interface that makes use of a Store to swap active Sessions to disk.
Extends the ManagerBase class to implement most of the functionality required by a Manager which supports any kind of persistence, even if only for restarts.
store server.xml PersistentManager element with nested "Store"
Utility class for the loading and saving of JASPIC persistent provider registrations.
 
 
 
Valve that implements per-request session persistence.
A pooling DataSource appropriate for deployment within J2EE environment.
A JNDI ObjectFactory which creates SharedPoolDataSources
Interface describing a collection of Valves that should be executed in sequence when the invoke() method is invoked.
 
Base implementation (client and server have different concrete implementations) of the wrapper that converts a POJO instance into a WebSocket endpoint instance.
Wrapper class for instances of POJOs annotated with ClientEndpoint so they appear as standard Endpoint instances.
Wrapper class for instances of POJOs annotated with ServerEndpoint so they appear as standard Endpoint instances.
 
Common implementation code for the POJO message handlers.
Common implementation code for the POJO partial message handlers.
ByteBuffer specific concrete implementation for handling partial messages.
Text specific concrete implementation for handling partial messages.
Common implementation code for the POJO whole message handlers.
ByteBuffer specific concrete implementation for handling whole messages.
PongMessage specific concrete implementation for handling whole messages.
Text specific concrete implementation for handling whole messages.
For a POJO class annotated with ServerEndpoint, an instance of this class creates and caches the method handler, method information and parameter information for the onXXX calls.
Stores the parameter type and name for a parameter that needs to be passed to an onXxx method of Endpoint.
Provides access to APR memory pools which are used to manage memory allocations for natively created instances.
A DelegatingCallableStatement that cooperates with PoolingConnection to implement a pool of CallableStatements.
A delegating connection that, rather than closing the underlying connection, returns itself to an ObjectPool when closed.
Defines the attributes and methods that will be exposed via JMX for PoolableConnection instances.
PoolableConnection that unregisters from TransactionRegistry on Connection real destroy.
A DelegatingPreparedStatement that cooperates with PoolingConnection to implement a pool of PreparedStatements.
A list of properties that are configurable for a connection pool.
Represents a pooled connection and holds a reference to the Connection object
 
Defines the wrapper that is used to track the additional information, such as state, for the pooled objects.
An interface defining life-cycle methods for instances to be served by an ObjectPool.
Provides all possible states of a PooledObject.
 
 
 
Extension of DefaultPooledObject to wrap pooled soft references.
 
Statement types.
A simple DataSource implementation that obtains Connections from the specified ObjectPool.
A Driver implementation that obtains Connections from a registered ObjectPool.
 
 
 
 
This class consists exclusively of static methods that operate on or return ObjectPool or KeyedObjectPool related interfaces.
HTTP priority header parser as per RFC 9218.
 
 
 
Common interface for processors of all protocols.
The ProgressListener may be used to display a progress bar or do stuff like that.
Implementation of LifecycleListener that will populate the context's role mapping from a properties file.
Maps EL functions to their Java method counterparts.
 
Used when we need to indicate failure but the (Servlet) API doesn't declare any appropriate exceptions.
Abstract the protocol implementation, including threading, etc.
This class represents a front-end httpd server.
A ProxyConnection object is the bottom most interceptor that wraps an object of type PooledConnection.
Implementation of a Valve that proxies or redirects error reporting to other urls.
A key uniquely identifying PreparedStatements.
Deprecated.
 
 
Implement a map for the txt: and rnd: mod_rewrite capabilities.
 
 
 
Servlet filter that can help mitigate Denial of Service (DoS) and Brute Force attacks by limiting the number of a requests that are allowed from a single IP address within a time window (also referred to as a time bucket), e.g. 300 Requests per 60 seconds.
 
A Realm is a read-only facade for an underlying security realm used to authenticate individual users, and identify the security roles associated with those users.
Simple implementation of Realm that reads an XML file to configure the valid users, passwords, and roles.
 
RuleSet for processing the contents of a Realm definition element.
Store server.xml Element Realm
 
 
This class provides a wrapper around Jar that uses reference counting to close and re-create the wrapped Jar instance as required.
Utilities for Managing Serialization and Reflection
Registry for modeler MBeans.
Interface for modeler MBeans.
Ant task that implements the /reload command, supported by the Tomcat manager application.
Concrete implementation of RequestFilter that filters based on the string representation of the remote client's IP address.
Concrete implementation of RequestFilterValve that filters based on the string representation of the remote client's IP address optionally combined with the server connector port number.
 
 
Concrete implementation of RequestFilter that filters based on the remote client's host name.
Concrete implementation of RequestFilterValve that filters based on the remote client's host name optionally combined with the server connector port number.
Servlet filter to integrate "X-Forwarded-For" and "X-Forwarded-Proto" HTTP headers.
 
Tomcat port of mod_remoteip, this valve replaces the apparent client remote IP address and hostname for the request with the IP address list presented by a proxy or a load balancer via a request headers (e.g.
Message thrown by a sender when USE_SYNC_ACK receives a FAIL_ACK_COMMAND.
 
Ant task to assist with repeatable builds.
 
 
 
All-to-all replication for a hash map implementation.
For smarter replication, an object can implement this interface to replicate diffs
The replication logic will call the methods in the following order:
1. if ( entry.isDirty() )
try { 2.
This is a marker interface used to indicate an implementation of SessionListener that should be replicated with the session across the cluster.
Custom subclass of ObjectInputStream that loads from the class loader for this web application.
Transmit message to other cluster members Actual senders are created based on the replicationMode type
Implementation of a Valve that logs interesting contents from the specified Request (before processing) and the corresponding Response (after processing).
Wrapper object for the Coyote request.
This is a low-level, efficient representation of a server request.
Abstracts access to the request information needed for file uploads.
Implementation of a Filter that logs interesting contents from the specified Request (before processing) and the corresponding Response (after processing).
Facade class that wraps a Coyote request object.
Implementation of a Filter that performs filtering based on comparing the appropriate request property (selected based on which subclass you choose to configure into your Container's pipeline) against the regular expressions configured for this Filter.
Implementation of a Valve that performs filtering based on comparing the appropriate request property (selected based on which subclass you choose to configure into your Container's pipeline) against the regular expressions configured for this Valve.
Only as a JMX artifact, to aggregate the data collected from each RequestProcessor thread.
Structure holding the Request and Response objects.
General purpose request parsing and encoding utility methods.
 
Class that resets the abandoned timer on any activity on the Connection or any successful query executions.
 
 
Resolver abstract class.
 
Representation of an Context element
Resource entry.
Object factory for Resources env.
Represents a reference address to a resource environment.
Object factory for Resources.
Object factory for resource links.
Represents a reference address to a resource.
Represents a reference address to a resource.
Extended implementation of HashSet that includes a locked property.
Ant task that implements the /resources command, supported by the Tomcat manager application.
Wrapper object for the Coyote response.
A response object holds a message from a responding partner.
Response object.
Facade class that wraps a Coyote response object.
An HttpServletResponseWrapper, used from SSIServletExternalResolver
 
Provides basic CSRF protection for REST APIs.
 
 
 
 
 
Interface for user defined lookup/replacement logic that can be defined in a rewrite.config file by a RewriteMap directive.
 
Note: Extra caution should be used when adding a Rewrite Rule.
Utility class to decode/encode character set on HTTP Header fields based on RFC 2231.
 
Abstract representation of a security role, suitable for use in environments like JAAS that want to deal with Principals.
A ModelMBean implementation for the org.apache.catalina.Role component.
The RpcCallback interface is an interface for the Tribes channel to request a response object to a request that came in.
A channel to handle RPC messaging
Class that holds all response.
 
 
 
Concrete implementations of this class implement actions to be taken when a corresponding nested pattern of XML elements has been matched.
Public interface defining a collection of Rule instances (and corresponding matching patterns) plus an implementation of a matching policy that selects the rules that match a particular pattern of nested elements discovered during parsing.
Default implementation of the Rules interface that supports the standard rule matching behavior.
Public interface defining a shorthand means of configuring a complete set of related Rule definitions, possibly associated with a particular namespace URI, in one operation.
A very simple thread pool class.
 
Provides a ForkJoinPool.ForkJoinWorkerThreadFactory that provides ForkJoinWorkerThreads that won't trigger memory leaks due to retained references to web application class loaders.
 
Object that saves the critical information from a request so that form-based authentication can reproduce it once the user has been authenticated.
Input filter responsible for replaying the request body when restoring the saved request after FORM authentication.
Class which wraps a ScheduledExecutorService, while preventing lifecycle and configuration operations.
 
Implementation of a secure socket channel for NIO2.
Implementation of a secure socket channel
Static class used to preload java classes when using the Java SecurityManager so that the defineClassInPackage RuntimePermission does not trigger an AccessControlException.
Static class used to preload java classes when using the Java SecurityManager so that the defineClassInPackage RuntimePermission does not trigger an AccessControlException.
Representation of a web resource collection for a web application's security constraint, as represented in a <web-resource-collection> element in the deployment descriptor.
Util class to protect Catalina against package access and insertion.
Representation of a security constraint element for a web application, as represented in a <security-constraint> element in the deployment descriptor.
This listener must only be nested within Server elements.
A CallStack strategy using a SecurityManager.
Representation of a security role reference for a web application, as represented in a <security-role-ref> element in the deployment descriptor.
This utility class associates a Subject to the current AccessControlContext.
Util class for Security related operations.
Catalina JNDI Context implementation.
Implementation of a Valve that limits concurrency.
Interface to send data to proxies.
Generate Sender Element
 
 
 
 
Factory class that creates a JNDI named javamail MimePartDataSource object which can be used for sending email using SMTP.
 
A Server element represents the entire Catalina servlet container.
Server-side cookie representation.
This class is not thread-safe.
Simple utility module to make it easy to plug in the server identifier when integrating Tomcat.
Ant task that implements the /serverinfo command supported by the Tomcat manager application.
A Service is a group of one or more Connectors that share a single Container to process their incoming requests.
A IntrospectionUtils.SecurePropertySource that uses Kubernetes service bindings to resolve expressions.
 
Object proxy for Web Services.
Represents a reference web service.
Object factory for Web Services.
 
Representation of a servlet definition for a web application, as represented in a <servlet> element in the deployment descriptor.
Provides access to the request information needed for a request made to an HTTP servlet.
ServletResponseWrapper used by the JSP 'include' action.
This is what is used to generate servlets.
A Session is the Catalina-internal facade for an HttpSession that is used to maintain state information between requests for a particular user of a web application.
 
Representation of a session configuration element for a web application, as represented in a <session-config> element in the deployment descriptor.
General event for notifying listeners of significant changes on a Session.
 
 
A Filter that initializes the HttpSession for the HttpServletRequest by calling its getSession() method.
Interface defining a listener for significant Session generated events.
The SessionMessage interface is used when a session has been created, modified, expired in a Tomcat cluster node.
Session cluster message
Ant task that implements the /sessions command supported by the Tomcat manager application.
Utility methods on HttpSessions.
 
Example filter that sets the character encoding to be used in parsing the incoming request, either unconditionally or only if the client did not specify a character encoding.
Rule implementation that calls a method on the (top-1) (parent) object, passing the top object (child) as an argument.
Rule implementation that calls a method on the (top-1) (parent) object, passing the top object (child) as an argument.
Rule implementation that sets properties on the object at the top of the stack, based on attributes with corresponding names.
 
A pooling DataSource appropriate for deployment within J2EE environment.
A JNDI ObjectFactory which creates SharedPoolDataSources
Basic implementation primarily intended for use when using third-party ServerAuthModule implementations that only provide the module.
A dinky coordinator, just uses a sorted version of the member array.
 
SimpleInstanceManager Implement the org.apache.tomcat.InstanceManager interface.
Basic implementation primarily intended for use when using third-party ServerAuthModule implementations that only provide the module.
Basic implementation primarily intended for use when using third-party ServerAuthModule implementations that only provide the module.
A Cluster implementation using simple multicast.
A Valve that supports a "single sign on" user experience, where the security identity of a user who successfully authenticates to one web application is propagated to other web applications in the same security domain.
A class that represents entries in the cache of authenticated users.
 
Key used by SSO to identify a session.
This exception is thrown, if a requests permitted size is exceeded.
Thrown to indicate that the request size exceeds the configured maximum.
Slow query report interceptor.
 
Compare QueryStats by their lastInvocation value.
Publishes data to JMX and provides notifications when failures happen.
 
 
Represents the line and file mappings associated with a JSR-045 "stratum".
Contains static utilities for generating SMAP data based on the current version of Jasper.
Tomcat Native 1.2.33 and earlier won't initialise unless this class is present.
 
Defines events that occur per socket that require further processing by the container.
 
Properties that can be set in the <Connector> element in server.xml.
 
 
 
 
 
 
A ModelMBean implementation for the org.apache.catalina.users.SparseUserDatabase component.
A SPNEGO authenticator that uses the SPNEGO/Kerberos support built in to Java 6.
This class implements a hack around an incompatibility between the SPNEGO implementation in Windows and the SPNEGO implementation in Java 8 update 40 onwards.
An SQLException based on a list of Throwable causes.
The interface that all SSI commands ( SSIEcho, SSIInclude, ...) must implement.
SSI command that handles all conditional directives.
Implements the Server-side #exec command
Return the result associated with the supplied Server Variable.
Implements the Server-side #exec command
Interface used by SSIMediator to talk to the 'outside world' ( usually a servlet )
Filter to process SSI requests within a webpage.
Implements the Server-side #flastmod command
Implements the Server-side #fsize command
Implements the Server-side #include command
Allows the different SSICommand implementations to share data/talk to each other
Implements the Server-side #printenv command
The entry point to SSI processing.
Servlet to process SSI requests within a webpage.
An implementation of SSIExternalResolver that is used with servlets.
 
 
Implements the Server-side #set command
Exception used to tell SSIProcessor that it should stop processing SSI commands.
 
An Authenticator and Valve implementation of authentication that utilizes SSL certificates to identify client users.
 
Ant task that implements the /sslConnectorCiphers command supported by the Tomcat manager application.
 
This interface is needed to override the default SSLContext class to allow SSL implementation pluggability without having to use JCE.
Interface implemented by components that will receive the call back to select an OpenSSL SSLContext based on the host name requested by the client.
Represents the TLS configuration for a virtual host.
 
 
 
 
Store SSLHostConfig
Provides a factory and base implementation for the Tomcat specific mechanism that allows alternative SSL/TLS implementations to be used without requiring the implementation of a full JSSE provider.
Defines an interface used to manage SSL sessions.
Defines an interface to interact with SSL sessions.
Provides a common interface for SSLImplementations to create the necessary JSSE implementation objects for TLS connections created via the JSSE API.
Optional interface that can be implemented by SSLEngines to indicate that they support ALPN and can provided the protocol agreed with the client.
Common base class for SSLUtil implementations.
When using mod_proxy_http, the client SSL information is not included in the protocol (unlike mod_jk and mod_proxy_ajp).
Standard implementation of the Context interface.
Store server.xml Context element with all children Store all context at server.xml Store existing app.xml context a conf/enginename/hostname/app.xml Store with backup
Standard implementation of the Engine interface.
 
 
Store server.xml Element Engine
Standard implementation of the Host interface.
Store server.xml Element Host
 
The default JarScanner implementation scans the WEB-INF/lib directory followed by the provided classloader and then works up the classloader hierarchy.
Standard implementation of the Manager interface that provides simple session persistence across restarts of this component (such as when the entire server is shut down and restarted, or when a particular web application is reloaded.
Standard implementation of a processing Pipeline that will invoke a series of Valves that have been configured to be called in order.
Provides the resources implementation for a web application.
Standard implementation of the Server interface, available for use (but not required) when deploying and starting Catalina.
Store server.xml Server element and children ( Listener,GlobalNamingResource,Service)
Standard implementation of the Service interface.
Store server.xml Element Service and all children
Standard implementation of the Session interface.
Facade for the StandardSession object.
 
 
An executor that uses a new virtual thread for each task.
Standard implementation of the Wrapper interface that represents an individual servlet definition.
Facade for the StandardWrapper object.
Ant task that implements the /start command, supported by the Tomcat manager application.
Interceptor that caches PreparedStatement and/or CallableStatement instances on a connection.
 
Implementation of JdbcInterceptor that proxies resultSets and statements.
 
 
Keeps track of statements associated with a connection and invokes close upon Connection.close() Useful for applications that don't close the associated statements after being done with a connection.
 
 
 
 
 
 
 
This servlet will display a complete status of the HTTP/1.1 connector.
This is a refactoring of the servlet to externalize the output into a simple class.
A custom RuntimeException thrown by the ThreadPoolExecutor to signal that the thread should be disposed of.
Ant task that implements the /stop command, supported by the Tomcat manager application.
A Store is the abstraction of a Catalina component that provides persistent storage and loading of Sessions and their associated user data.
StoreAppends generate really the xml tag elements
Abstract implementation of the Store interface to support most of the functionality required by a Store.
Store Server/Service/Host/Context at file or PrintWriter.
Loads and registers a StoreConfig MBean with the name Catalina:type=StoreConfig.
store StandardContext Attributes ...
Bean of a StoreDescription
StoreFactory saves special elements.
Rule that creates a new IStoreFactory instance, and associates it with the top object on the stack (which must implement IStoreFactory).
Move server.xml or context.xml as backup
XML Format
PersistentManager would have been a better name but that would have clashed with the implementation name.
Central StoreRegistry for all server.xml elements
 
 
 
Utility class for working with streams.
Converts dates to strings using the same format specifiers as strftime Notes: This does not mimic strftime perfectly.
This class implements a String cache for ByteChunk and CharChunk.
Defines the interface for the String interpreter.
Provides an optimised conversion of string values to Enums.
Provides StringInterpreter instances for JSP compilation.
 
An internationalization / localization helper class which reduces the bother of handling ResourceBundles and takes care of the common cases of message formatting which otherwise require the creation of Object arrays and such.
An internationalization / localization helper class which reduces the bother of handling ResourceBundles and takes care of the common cases of message formatting which otherwise require the creation of Object arrays and such.
An internationalization / localization helper class which reduces the bother of handling ResourceBundles and takes care of the common cases of message formatting which otherwise require the creation of Object arrays and such.
 
Utility methods to build a separated list from a given set (not java.util.Set) of inputs and return that list as a string or append it to an existing StringBuilder.
Deprecated.
Unused.
Parsing of structured fields as per RFC 8941.
This valve allows to detect requests that take a long time to process, which might indicate that the thread that is processing it is stuck.
 
 
 
 
 
 
 
 
Pools that unavoidably swallow exceptions may be configured with an instance of this listener so the user may receive notification of when this happens.
Class for logging swallowed exceptions.
This is intended as a (mostly) GC-free alternative to ConcurrentLinkedQueue when the requirement is to create an unbounded queue with no requirement to shrink the queue.
This is intended as a (mostly) GC-free alternative to Stack when the requirement is to create a pool of re-usable objects with no requirement to shrink the pool.
This helper class may be used to do sophisticated redirection of System.out and System.err on a per Thread basis.
A IntrospectionUtils.SecurePropertySource that uses system properties to resolve expressions.
 
Bare-bone model of a tag file loaded from a TLD.
Pool of tag handlers that can be reused.
 
Common representation of a Tag Library Descriptor (TLD) XML file.
This interface is to be implemented by the plugin author, to supply an alternate implementation of the tag handlers.
This interface allows the plugin author to make inquiries about the properties of the current tag, and to use Jasper resources to generate direct Java codes in place of tag handler invocations.
Manages tag plugin optimizations.
Parser for Tag Plugin descriptors.
Model of a tag define in a tag library descriptor.
As task queue specifically designed to run with a thread pool executor.
A Thread implementation that records the time at which it was created.
Simple task thread factory to use to create threads for an executor implementation.
ThreadFactory implementation that creates threads with the thread context class loader set to the class loader that loaded this factory.
The TcpFailureDetector is a useful interceptor that adds reliability to the membership layer.
 
Sends a ping to all members.
 
 
 
Callback for establishing naming association when entering the application scope.
Ant task that implements the /threaddump command supported by the Tomcat manager application.
A LifecycleListener that triggers the renewal of threads in Executor pools when a Context is being stopped to avoid thread-local related memory leaks.
An ExecutorService that executes each submitted task using one of possibly several pooled threads, normally configured using Executors factory methods.
A handler for rejected tasks that throws a RejectedExecutionException.
A handler for rejected tasks that runs the rejected task directly in the calling thread of the execute method, unless the executor has been shut down, in which case the task is discarded.
A handler for rejected tasks that discards the oldest unhandled request and then retries execute, unless the executor is shut down, in which case the task is discarded.
A handler for rejected tasks that silently discards the rejected task.
 
An output stream which triggers an event when a specified number of bytes of data have been written to it.
 
 
CallStack strategy that uses the stack trace from a Throwable.
This class maintains a thread safe hash map that has timestamp-based buckets followed by a string for a key, and a counter for a value. each time the increment() method is called it adds the key if it does not exist, increments its value and returns it. a maintenance thread cleans up keys that are prefixed by previous timestamp buckets.
This class caches parsed instances of TLD files to remove the need for the same TLD to be parsed for each JSP that references it.
Parses a Tag Library Descriptor.
 
A TLD Resource Path as defined in JSP 7.3.2.
RulesSet for digesting TLD files.
 
 
Scans for and loads Tag Library Descriptors contained in a web application.
A LifecycleListener that may be used to monitor the expiration dates of TLS certificates and trigger automatic reloading of the TLS configuration a set number of days before the TLS certificate expires.
This class extracts the SNI host name and ALPN protocols from a TLS client-hello message.
 
 
 
 
Minimal tomcat starter for embedding/unit tests.
Fix reload - required if reloading and using programmatic configuration.
Helper class for wrapping existing servlets.
Fix startup sequence - required if you don't use web.xml.
 
The purpose of this sub-class is to obtain references to the JarEntry objects for META-INF/ and META-INF/MANIFEST.MF that are otherwise swallowed by the JarInputStream implementation.
Defines additional methods implemented by Principals created by Tomcat's standard Realm implementations.
 
General purpose wrapper for command line tools that should execute in an environment with the common class loader environment set up by Catalina.
An exception that indicates the maximum number of active sessions has been reached and the server is refusing to create any new sessions.
Utility class used to help generate return values for calls to Object.toString().
Utility class used to provide String representations of objects.
Allows pooled objects to make information available about when and how they were used available to the object pool.
 
TransactionContext represents the association between a single XAConnectionFactory and a Transaction.
A listener for transaction completion events.
Object factory for User transactions.
Represents a reference address to a transaction.
TransactionRegistry tracks Connections and XAResources in a transacted environment for a single XAConnectionFactory.
The internal representation of the transformation that a WebSocket extension performs on a message.
 
 
Interceptor that traps any unhandled exception types and throws an exception that has been declared by the method called, or throw an SQLException if it is declared.
 
 
 
Ant task to convert a given set of files from Text to HTML.
All URL decoding happens here.
Efficient implementation of a UTF-8 encoder.
 
 
Ant task that implements the /undeploy command, supported by the Tomcat manager application.
Wraps the default attributes implementation and ensures that each attribute has a unique qname as required by the JSP specification.
Represents a globally unique Id.
 
Trivial implementation of ApplicationBufferHandler to support saving of HTTP request bodies during an HTTP/1.1 upgrade.
This aggregates the data collected from each UpgradeInfo instance.
Structure to hold statistical information about connections that have been established using the HTTP/1.1 upgrade mechanism.
 
 
 
 
 
 
Token used during the upgrade process.
 
Enhanced access to the request information needed for file uploads, which fixes the Content Length data access in RequestContext.
Extracts path parameters from URIs used to create web socket connections using the URI template defined for the associated Endpoint.
Utility class for working with URIs and URLs.
 
This class is very similar to the java.net.URLEncoder class.
Implementation of Jar that is optimised for non-file based JAR URLs.
This interface may be implemented by an object pool to enable clients (primarily those clients that wrap pools to provide pools with extended features) to provide additional information to the pool relating to object using allowing more informed decisions and reporting to be made regarding abandoned objects.
Abstract representation of a user in a UserDatabase.
Startup event listener for a Host that configures Contexts (web applications) for all defined "users" who have a web application in a directory with the specified name in their home directories.
Abstraction of the set of users defined by the operating system on the current server platform.
Abstract representation of a database of Users and Groups that can be maintained by an application, along with definitions of corresponding Roles, and referenced by a Realm for authentication and access control.
Implementation of Realm that is based on an implementation of UserDatabase made available through the JNDI resources configured for this instance of Catalina.
 
This helper class assists with the logging associated with invalid input data.
Log mode for the next log message.
A ModelMBean implementation for the org.apache.catalina.User component.
Encodes characters as bytes using UTF-8.
Util contains some often used consts, static methods and embedded class to support the JSTL tag plugin.
 
Utility class for internal use only within the org.apache.tomcat.websocket package.
 
Wraps responses to allow us to retrieve results as Strings.
 
 
Utility methods.
Smple generation of a UUID.
 
Interface to be implemented by custom validator classes.
Task for validating a web application deployment descriptor, using XML schema validation.
Model of a Tag Library Validator from the XML descriptor.
An Expression that can get or set a value.
 
A Valve is a request processing component associated with a particular Container.
Convenience base class for implementations of the Valve interface.
 
 
Deprecated.
Outputs the just the log message with no additional elements.
Logs version information on startup.
 
An executor that uses a new virtual thread for each task.
Ant task that implements the /vminfo command supported by the Tomcat manager application.
Void input filter, which returns -1 when attempting a read.
Void output filter, which silently swallows bytes written.
Represents a single resource (file or directory) that is located within a WAR.
Represents a WebResourceSet based on a WAR file.
 
The WarWatcher watches the deployDir for changes made to the directory (adding new WAR files->deploy or remove WAR files->undeploy) and notifies a listener of the changes made.
File name filter for war files
File information on existing WAR files
 
AnnotationSet for processing the annotations of the web application classes (/WEB-INF/classes and /WEB-INF/lib).
 
Specialized web application class loader.
 
Classloader implementation which is specialized for handling web applications in the most efficient way, while being Catalina aware (all accesses to resources are made through WebResourceRoot).
An interface intended for use by class loaders associated with a web application that enables them to provide additional information to JULI about the web application with which they are associated.
A variation of Java's JAR ServiceLoader that respects exclusion rules for web applications.
Deprecated.
This will be removed in Tomcat 11 onwards.
The IfHeader class represents the state lists defined through the HTTP If header, which is specified in RFC 2518 as follows :
Servlet which adds support for WebDAV level 3.
Handling of dead properties on resources.
Represents a PROPPATCH sub operation to be performed.
Represents a file or directory within a web application.
Interface implemented by WebResourceSet implementations that wish to provide locking functionality.
 
Represents the complete set of resources for a web application.
 
Provides a mechanism to modify the caching behaviour.
 
Generate Resources element
Represents a set of resources that are part of a web application.
RuleSet for processing the contents of a web application deployment descriptor (/WEB-INF/web.xml) resource.
Representation of common elements of web.xml and web-fragment.xml.
 
 
 
A Wrapper is a Container that represents an individual servlet definition from the deployment descriptor of the web application.
 
 
Encapsulates information used to register a Wrapper mapping.
Provides an expandable set of buffers for writes.
Interface implemented by clients of the WriteBuffer to enable data to be written back out from the buffer.
 
In normal usage, this ServletContextListener does not need to be explicitly configured as the WsSci performs all the necessary bootstrap and installs this listener in the ServletContext.
 
 
Handles the initial HTTP connection for WebSocket connections.
Takes the ServletInputStream, processes the WebSocket frames it contains and extracts the messages.
WAITING - not suspended Server case: waiting for a notification that data is ready to be read from the socket, the socket is registered to the poller Client case: data has been read from the socket and is waiting for data to be processed PROCESSING - not suspended Server case: reading from the socket and processing the data Client case: processing the data if such has already been read and more data will be read from the socket SUSPENDING_WAIT - suspended, a call to suspend() was made while in WAITING state.
 
 
Represents the request that this session was opened under.
Represents the response to a WebSocket handshake.
Servlet 3.1 HTTP upgrade handler for WebSocket connections.
Allows the WebSocket implementation to throw an IOException that includes a CloseReason specific to the error that can be passed back to the client.
 
 
 
 
 
 
This is the server side RemoteEndpoint implementation - i.e. what the server uses to send data to the client.
Registers an interest in any class that is annotated with ServerEndpoint so that Endpoint can be published via the WebSocket server.
Provides a per class loader (i.e. per web application) instance of a ServerContainer.
 
 
 
Provides timeouts for asynchronous web socket writes.
An X509UsernameRetriever that returns a certificate's entire SubjectDN as the username.
Provides an interface for retrieving a user name from an X509Certificate.
XAConnectionFactory is an extension of ConnectionFactory used to create connections in a transaction managed environment.
 
The XByteBuffer provides a dual functionality.
Base class for those elements that need to track the encoding used in the source XML.
 
Defines constants for well-known Public and System identifiers documented by the Servlet and JSP specifications.
XMLWriter helper class.