# Package org.apache.catalina.valves

This package contains a variety of small Valve implementations that do not warrant being packaged separately.

See: Description

Interface Summary
Interface | Description
--- | ---
AccessLogValve.AccessLogElement | AccessLogElement writes the partial message into the buffer.

Class Summary
Class | Description
--- | ---
AccessLogValve | Implementation of the Valve interface that generates a web server access log with the detailed line contents matching a configurable pattern.
AccessLogValve.ByteSentElement | write bytes sent, excluding HTTP headers - %b, %B
AccessLogValve.CookieElement | write a specific cookie - %{xxx}c
AccessLogValve.DateFormatCache | Cache structure for formatted timestamps based on seconds.
AccessLogValve.ElapsedTimeElement | write time taken to process the request - %D, %T
AccessLogValve.FirstByteTimeElement | write time until first byte is written (commit time) in millis - %F
AccessLogValve.HeaderElement | write incoming headers - %{xxx}i
AccessLogValve.HttpStatusCodeElement | write HTTP status code of the response - %s
AccessLogValve.LocalAddrElement | write local IP address - %A
AccessLogValve.LocalServerNameElement | write local server name - %v
AccessLogValve.LogicalUserNameElement | write remote logical username from identd (always returns '-') - %l
AccessLogValve.MethodElement | write request method (GET, POST, etc.) - %m
AccessLogValve.QueryElement | write Query string (prepended with a '?'
AccessLogValve.RequestAttributeElement | write an attribute in the ServletRequest - %{xxx}r
AccessLogValve.RequestElement | write first line of the request (method and request URI) - %r
AccessLogValve.RequestURIElement | write requested URL path - %U
AccessLogValve.ResponseHeaderElement | write a specific response header - %{xxx}o
AccessLogValve.SessionAttributeElement | write an attribute in the HttpSession - %{xxx}s
AccessLogValve.SessionIdElement | write user session ID - %S
AccessLogValve.StringElement | write any string
AccessLogValve.ThreadNameElement | write thread name - %I
AccessLogValve.UserElement | write remote user that was authenticated (if any), else '-' - %u
CometConnectionManagerValve | Implementation of a Valve that tracks Comet connections, and closes them when the associated session expires or the webapp is reloaded.
Constants | Manifest constants for the `org.apache.catalina.valves` package.
Constants.AccessLog |
CrawlerSessionManagerValve | Web crawlers can trigger the creation of many thousands of sessions as they crawl a site which may result in significant memory consumption.
ErrorReportValve | Implementation of a Valve that outputs HTML error pages.
ExtendedAccessLogValve | An implementation of the W3c Extended Log File Format.
ExtendedAccessLogValve.DateElement |
ExtendedAccessLogValve.PatternTokenizer |
ExtendedAccessLogValve.TimeElement |
JDBCAccessLogValve | 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.
PersistentValve | Valve that implements per-request session persistence.
RemoteAddrValve | Concrete implementation of `RequestFilterValve` that filters based on the string representation of the remote client's IP address.
RemoteHostValve | Concrete implementation of `RequestFilterValve` that filters based on the remote client's host name.
RemoteIpValve | 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.
RequestFilterValve | 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.
SemaphoreValve | Implementation of a Valve that limits concurrency.
SSLValve | When using mod_proxy_http, the client SSL information is not included in the protocol (unlike mod_jk and mod_proxy_ajp).
StuckThreadDetectionValve | 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.
ValveBase | Convenience base class for implementations of the Valve interface.

## Package org.apache.catalina.valves Description

This package contains a variety of small Valve implementations that do not warrant being packaged separately. In addition, there is a convenience base class (`ValveBase`) that supports the usual mechanisms for including custom Valves into the corresponding Pipeline.

Other packages that include Valves include `org.apache.tomcat.logger` and `org.apache.tomcat.security`.