Jetty Logo
Version: 9.4.30.v20200611
Contact the core Jetty developers at

private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services for sponsored feature development

Chapter 18. Provided Servlets, Filters, and Handlers

Table of Contents

Default Servlet
Proxy Servlet
Balancer Servlet
CGI Servlet
Quality of Service Filter
Denial of Service Filter
Header Filter
Gzip Handler
Cross Origin Filter
Resource Handler
Debug Handler
Statistics Handler
IP Access Handler
Moved Context Handler
Shutdown Handler
Default Handler
Error Handler
Rewrite Handler

Jetty ships with a bundle of servlets that interact with the key classes. Most are in the org.eclipse.jetty.servlets package. These servlets and filters are among the principle elements of Jetty as a component-based infrastructure that holds and runs J2EE applications. As described, they play a major role in running and maintaining the Jetty server.

Also included are a number of Jetty specific handlers that allow access to internals of jetty that would not normally be exposed and are very useful testing environments and many production scenarios.

Default Servlet



The DefaultServlet implements the ResourceFactory interface and extends the HttpServlet abstract class. It is usually mapped to "/" and provides handling for static content, OPTION and TRACE methods for the context. The MOVE method is allowed if PUT and DELETE are allowed. See the DefaultServlet javadoc.

Init Parameters

Jetty supports the following initParameters:

If true, range requests and responses are supported.
If true, directory listings are returned if no welcome file is found. Otherwise 403 Forbidden displays.
If true, welcome files are redirected rather that forwarded.
If true, attempt to dispatch to welcome files that are servlets, but only after no matching static resources could be found. If false, then a welcome file must exist on disk. If exact, then exact servlet matches are supported without an existing file. Default is true. This must be false if you want directory listings, but have index.jsp in your welcome file list.
If set to a comma separated list of encoding types (that may be listed in a requests Accept-Encoding header) to file extension mappings to look for and serve. For example:,gzip=.gz, If set to a boolean true, then a default set of compressed formats will be used, otherwise no precompressed formats supported.
Deprecated. Use precompressed instead. If set to true, then static content is served as gzip content encoded if a matching resource is found ending with ".gz".
Set to replace the context resource base.
If set, this is a context attribute name, which the servlet will use to look for a shared ResourceCache instance.
Set with a pathname relative to the base of the servlet context root. Useful for only serving static content out of only specific subdirectories.
If set, all static content will have this value set as the cache-control header.
If true, only the path info will be applied to the resourceBase
Set with the location of an optional stylesheet that will be used to decorate the directory listing html.
If true, weak etags will be generated and handled.
Maximum total size of the cache or 0 for no cache.
Maximum size of a file to cache.
Maximum number of files to cache.
If set to true, mapped file buffer serves static content. Setting this value to false means that a direct buffer is used instead of a mapped file buffer. By default, this is set to true.
A comma separated list of other file extensions that signify that a file is gzip compressed. If you don’t explicitly set this, it defaults to .svgz.
Max entries in a cache of ACCEPT-ENCODING headers

See an error or something missing? Contribute to this documentation at Github!(Generated: 2020-06-11)