Package org.eclipse.jetty.servlet
Class DefaultServlet
java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.eclipse.jetty.servlet.DefaultServlet
- All Implemented Interfaces:
jakarta.servlet.Servlet,jakarta.servlet.ServletConfig,Serializable,ResourceService.WelcomeFactory,ResourceFactory
public class DefaultServlet
extends jakarta.servlet.http.HttpServlet
implements ResourceFactory, ResourceService.WelcomeFactory
The default servlet.
This servlet, normally mapped to /, provides the handling for static content, OPTION and TRACE methods for the context. The following initParameters are supported, these can be set either on the servlet itself or as ServletContext initParameters with a prefix of org.eclipse.jetty.servlet.Default. :
acceptRanges If true, range requests and responses are
supported
dirAllowed If true, directory listings are returned if no
welcome file is found. Else 403 Forbidden.
welcomeServlets 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 false.
This must be false if you want directory listings,
but have index.jsp in your welcome file list.
redirectWelcome If true, welcome files are redirected rather than
forwarded to.
gzip If set to true, then static content will be served as
gzip content encoded if a matching resource is
found ending with ".gz" (default false)
(deprecated: use precompressed)
precompressed 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:
"br=.br,gzip=.gz,bzip2=.bz".
If set to a boolean True, then a default set of compressed formats
will be used, otherwise no precompressed formats.
resourceBase Set to replace the context resource base
resourceCache If set, this is a context attribute name, which the servlet
will use to look for a shared ResourceCache instance.
relativeResourceBase
Set with a pathname relative to the base of the
servlet context root. Useful for only serving static content out
of only specific subdirectories.
pathInfoOnly If true, only the path info will be applied to the resourceBase
stylesheet Set with the location of an optional stylesheet that will be used
to decorate the directory listing html.
etags If True, weak etags will be generated and handled.
maxCacheSize The maximum total size of the cache or 0 for no cache.
maxCachedFileSize The maximum size of a file to cache
maxCachedFiles The maximum number of files to cache
useFileMappedBuffer
If set to true, it will use mapped file buffer to serve static content
when using NIO connector. Setting this value to false means that
a direct buffer will be used instead of a mapped file buffer.
This is set to false by default by this class, but may be overridden
by eg webdefault.xml
cacheControl If set, all static content will have this value set as the cache-control
header.
otherGzipFileExtensions
Other file extensions that signify that a file is already compressed. Eg ".svgz"
encodingHeaderCacheSize
Max entries in a cache of ACCEPT-ENCODING headers.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()protected voiddoGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected voiddoHead(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected voiddoOptions(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected voiddoPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) protected voiddoTrace(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) getInitParameter(String name) getResource(String pathInContext) get Resource to serve.getWelcomeFile(String pathInContext) Finds a matching welcome file for the suppliedResource.voidinit()protected ContextHandlerinitContextHandler(jakarta.servlet.ServletContext servletContext) Compute the field _contextHandler.
In the case where the DefaultServlet is deployed on the HttpService it is likely that this method needs to be overwritten to unwrap the ServletContext facade until we reach the original jetty's ContextHandler.Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doPut, getLastModified, service, serviceMethods inherited from class jakarta.servlet.GenericServlet
getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Field Details
-
CONTEXT_INIT
- See Also:
-
-
Constructor Details
-
DefaultServlet
-
DefaultServlet
public DefaultServlet()
-
-
Method Details
-
init
public void init() throws jakarta.servlet.UnavailableException- Overrides:
initin classjakarta.servlet.GenericServlet- Throws:
jakarta.servlet.UnavailableException
-
initContextHandler
Compute the field _contextHandler.
In the case where the DefaultServlet is deployed on the HttpService it is likely that this method needs to be overwritten to unwrap the ServletContext facade until we reach the original jetty's ContextHandler.- Parameters:
servletContext- The servletContext of this servlet.- Returns:
- the jetty's ContextHandler for this servletContext.
-
getInitParameter
- Specified by:
getInitParameterin interfacejakarta.servlet.ServletConfig- Overrides:
getInitParameterin classjakarta.servlet.GenericServlet
-
getResource
get Resource to serve. Map a path to a resource. The default implementation calls HttpContext.getResource but derived servlets may provide their own mapping.- Specified by:
getResourcein interfaceResourceFactory- Parameters:
pathInContext- The path to find a resource for.- Returns:
- The resource to serve.
-
doGet
protected void doGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doGetin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
doPost
protected void doPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doPostin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
doHead
protected void doHead(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doHeadin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
doTrace
protected void doTrace(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doTracein classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
doOptions
protected void doOptions(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doOptionsin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
destroy
public void destroy()- Specified by:
destroyin interfacejakarta.servlet.Servlet- Overrides:
destroyin classjakarta.servlet.GenericServlet
-
getWelcomeFile
Description copied from interface:ResourceService.WelcomeFactoryFinds a matching welcome file for the suppliedResource.- Specified by:
getWelcomeFilein interfaceResourceService.WelcomeFactory- Parameters:
pathInContext- the path of the request- Returns:
- The path of the matching welcome file in context or null.
-