org.eclipse.jetty.servlet

## Class DefaultServlet

- java.lang.Object
- - javax.servlet.GenericServlet
  - - javax.servlet.http.HttpServlet
    - - org.eclipse.jetty.servlet.DefaultServlet

- All Implemented Interfaces:
    Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, ResourceFactory

      public class DefaultServlet
      extends javax.servlet.http.HttpServlet
      implements ResourceFactory

  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 true.

                          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"

        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.

        aliases           If True, aliases of resources are allowed (eg. symbolic
                          links and caps variations). May bypass security constraints.

        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.
                          By default, this is set to true.

        cacheControl      If set, all static content will have this value set as the cache-control
                          header.

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultServlet()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `destroy()`
    `protected void` | `doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`
    `protected void` | `doOptions(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)`
    `protected void` | `doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`
    `protected void` | `doTrace(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)`
    `String` | `getInitParameter(String name)`
    `Resource` | `getResource(String pathInContext)` get Resource to serve.
    `void` | `init()`
    `protected ContextHandler` | `initContextHandler(javax.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.
    `protected boolean` | `passConditionalHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Resource resource, HttpContent content)`
    `protected void` | `sendData(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean include, Resource resource, HttpContent content, Enumeration reqRanges)`
    `protected void` | `sendDirectory(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Resource resource, String pathInContext)`
    `protected void` | `writeHeaders(javax.servlet.http.HttpServletResponse response, HttpContent content, long count)`
    `protected void` | `writeOptionHeaders(HttpFields fields)`
    `protected void` | `writeOptionHeaders(javax.servlet.http.HttpServletResponse response)`

    - ### Methods inherited from class javax.servlet.http.HttpServlet

      `doDelete, doHead, doPut, getLastModified, service, service`

    - ### Methods inherited from class javax.servlet.GenericServlet

      `getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultServlet

          public DefaultServlet()

  - ### Method Detail

    - #### init

          public void init()
                    throws javax.servlet.UnavailableException

      Overrides:
        `init` in class `javax.servlet.GenericServlet`
      Throws:
        `javax.servlet.UnavailableException`

    - #### initContextHandler

          protected ContextHandler initContextHandler(javax.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.
      Parameters:
        `servletContext` - The servletContext of this servlet.
      Returns:
        the jetty's ContextHandler for this servletContext.

    - #### getInitParameter

          public String getInitParameter(String name)

      Specified by:
        `getInitParameter` in interface `javax.servlet.ServletConfig`
      Overrides:
        `getInitParameter` in class `javax.servlet.GenericServlet`

    - #### getResource

          public Resource getResource(String pathInContext)

      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:
        `getResource` in interface `ResourceFactory`
      Parameters:
        `pathInContext` - The path to find a resource for.
      Returns:
        The resource to serve.

    - #### doGet

          protected void doGet(javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response)
                        throws javax.servlet.ServletException,
                               IOException

      Overrides:
        `doGet` in class `javax.servlet.http.HttpServlet`
      Throws:
        `javax.servlet.ServletException`
        `IOException`

    - #### doPost

          protected void doPost(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response)
                         throws javax.servlet.ServletException,
                                IOException

      Overrides:
        `doPost` in class `javax.servlet.http.HttpServlet`
      Throws:
        `javax.servlet.ServletException`
        `IOException`

    - #### doTrace

          protected void doTrace(javax.servlet.http.HttpServletRequest req,
                     javax.servlet.http.HttpServletResponse resp)
                          throws javax.servlet.ServletException,
                                 IOException

      Overrides:
        `doTrace` in class `javax.servlet.http.HttpServlet`
      Throws:
        `javax.servlet.ServletException`
        `IOException`

    - #### doOptions

          protected void doOptions(javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse resp)
                            throws javax.servlet.ServletException,
                                   IOException

      Overrides:
        `doOptions` in class `javax.servlet.http.HttpServlet`
      Throws:
        `javax.servlet.ServletException`
        `IOException`

    - #### passConditionalHeaders

          protected boolean passConditionalHeaders(javax.servlet.http.HttpServletRequest request,
                                       javax.servlet.http.HttpServletResponse response,
                                       Resource resource,
                                       HttpContent content)
                                            throws IOException

      Throws:
        `IOException`

    - #### sendDirectory

          protected void sendDirectory(javax.servlet.http.HttpServletRequest request,
                           javax.servlet.http.HttpServletResponse response,
                           Resource resource,
                           String pathInContext)
                                throws IOException

      Throws:
        `IOException`

    - #### sendData

          protected void sendData(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response,
                      boolean include,
                      Resource resource,
                      HttpContent content,
                      Enumeration reqRanges)
                           throws IOException

      Throws:
        `IOException`

    - #### writeHeaders

          protected void writeHeaders(javax.servlet.http.HttpServletResponse response,
                          HttpContent content,
                          long count)
                               throws IOException

      Throws:
        `IOException`

    - #### writeOptionHeaders

          protected void writeOptionHeaders(HttpFields fields)
                                     throws IOException

      Throws:
        `IOException`

    - #### writeOptionHeaders

          protected void writeOptionHeaders(javax.servlet.http.HttpServletResponse response)
                                     throws IOException

      Throws:
        `IOException`

    - #### destroy

          public void destroy()

      Specified by:
        `destroy` in interface `javax.servlet.Servlet`
      Overrides:
        `destroy` in class `javax.servlet.GenericServlet`

Copyright © 1995-2012 Mort Bay Consulting. All Rights Reserved.