## org.eclipse.jetty.server.handler
Class ResourceHandler

    java.lang.Object
      org.eclipse.jetty.util.component.AbstractLifeCycle
          org.eclipse.jetty.server.handler.AbstractHandler
              org.eclipse.jetty.server.handler.ResourceHandler

All Implemented Interfaces:
  Handler, LifeCycle

    public class ResourceHandler

extends AbstractHandler

Resource Handler. This handle will serve static content and handle If-Modified-Since headers. No caching is done. Requests that cannot be handled are let pass (Eg no 404's)

Nested Class Summary

Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
`AbstractLifeCycle.AbstractLifeCycleListener`

Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
`LifeCycle.Listener`

Field Summary

Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
`_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING`

Constructor Summary
`ResourceHandler()`

Method Summary
`protected void` `doDirectory(HttpServletRequest request, HttpServletResponse response, Resource resource)`
`protected void` `doResponseHeaders(HttpServletResponse response, Resource resource, java.lang.String mimeType)` Set the response headers.
`void` `doStart()`
`Resource` `getBaseResource()`
`java.lang.String` `getCacheControl()`
`MimeTypes` `getMimeTypes()`
`protected Resource` `getResource(HttpServletRequest request)`
`Resource` `getResource(java.lang.String path)`
`java.lang.String` `getResourceBase()`
`Resource` `getStylesheet()`
`protected Resource` `getWelcome(Resource directory)`
`java.lang.String[]` `getWelcomeFiles()`
`void` `handle(java.lang.String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)` Handle a request.
`boolean` `isAliases()`
`boolean` `isDirectoriesListed()` Get the directory option.
`void` `setAliases(boolean aliases)` Set if resource aliases (eg symlink, 8.3 names, case insensitivity) are allowed.
`void` `setBaseResource(Resource base)`
`void` `setCacheControl(java.lang.String cacheControl)`
`void` `setDirectoriesListed(boolean directory)` Set the directory.
`void` `setMimeTypes(MimeTypes mimeTypes)`
`void` `setResourceBase(java.lang.String resourceBase)`
`void` `setStylesheet(java.lang.String stylesheet)`
`void` `setWelcomeFiles(java.lang.String[] welcomeFiles)`

Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
`destroy, doStop, dump, dump, dump, getServer, setServer, toString`

Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
`addLifeCycleListener, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
`addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

Constructor Detail

### ResourceHandler

    public ResourceHandler()

Method Detail

### getMimeTypes

    public MimeTypes getMimeTypes()

### setMimeTypes

    public void setMimeTypes(MimeTypes mimeTypes)

### isAliases

    public boolean isAliases()

  Returns:
    True if resource aliases are allowed.

### setAliases

    public void setAliases(boolean aliases)

  Set if resource aliases (eg symlink, 8.3 names, case insensitivity) are allowed. Allowing aliases can significantly increase security vulnerabilities. If this handler is deployed inside a ContextHandler, then the `ContextHandler.isAliases()` takes precedent.

  Parameters:
    `aliases` - True if aliases are supported.

### isDirectoriesListed

    public boolean isDirectoriesListed()

  Get the directory option.

  Returns:
    true if directories are listed.

### setDirectoriesListed

    public void setDirectoriesListed(boolean directory)

  Set the directory.

  Parameters:
    `directory` - true if directories are listed.

### doStart

    public void doStart()
                 throws java.lang.Exception

  Overrides:
    `doStart` in class `AbstractHandler`
  Throws:
    `java.lang.Exception`

### getBaseResource

    public Resource getBaseResource()

  Returns:
    Returns the resourceBase.

### getResourceBase

    public java.lang.String getResourceBase()

  Returns:
    Returns the base resource as a string.

### setBaseResource

    public void setBaseResource(Resource base)

  Parameters:
    `base` - The resourceBase to set.

### setResourceBase

    public void setResourceBase(java.lang.String resourceBase)

  Parameters:
    `resourceBase` - The base resource as a string.

### getStylesheet

    public Resource getStylesheet()

  Returns:
    Returns the stylesheet as a Resource.

### setStylesheet

    public void setStylesheet(java.lang.String stylesheet)

  Parameters:
    `stylesheet` - The location of the stylesheet to be used as a String.

### getCacheControl

    public java.lang.String getCacheControl()

  Returns:
    the cacheControl header to set on all static content.

### setCacheControl

    public void setCacheControl(java.lang.String cacheControl)

  Parameters:
    `cacheControl` - the cacheControl header to set on all static content.

### getResource

    public Resource getResource(java.lang.String path)
                         throws java.net.MalformedURLException

  Throws:
    `java.net.MalformedURLException`

### getResource

    protected Resource getResource(HttpServletRequest request)
                            throws java.net.MalformedURLException

  Throws:
    `java.net.MalformedURLException`

### getWelcomeFiles

    public java.lang.String[] getWelcomeFiles()

### setWelcomeFiles

    public void setWelcomeFiles(java.lang.String[] welcomeFiles)

### getWelcome

    protected Resource getWelcome(Resource directory)
                           throws java.net.MalformedURLException,
                                  java.io.IOException

  Throws:
    `java.net.MalformedURLException`
    `java.io.IOException`

### handle

    public void handle(java.lang.String target,
                       Request baseRequest,
                       HttpServletRequest request,
                       HttpServletResponse response)
                throws java.io.IOException,
                       ServletException

  Description copied from interface: `Handler`
  Handle a request.

  Parameters:
    `target` - The target of the request - either a URI or a name.
    `baseRequest` - The original unwrapped request object.
    `request` - The request either as the `Request` object or a wrapper of that request. The `HttpConnection.getCurrentConnection()` method can be used access the Request object if required.
    `response` - The response as the `Response` object or a wrapper of that request. The `HttpConnection.getCurrentConnection()` method can be used access the Response object if required.
  Throws:
    `java.io.IOException`
    `ServletException`

### doDirectory

    protected void doDirectory(HttpServletRequest request,
                               HttpServletResponse response,
                               Resource resource)
                        throws java.io.IOException

  Throws:
    `java.io.IOException`

### doResponseHeaders

    protected void doResponseHeaders(HttpServletResponse response,
                                     Resource resource,
                                     java.lang.String mimeType)

  Set the response headers. This method is called to set the response headers such as content type and content length. May be extended to add additional headers.

  Parameters:
    `response` -
    `resource` -
    `mimeType` -

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