org.mortbay.jetty.handler
Class ResourceHandler

java.lang.Object
  extended by org.mortbay.component.AbstractLifeCycle
      extended by org.mortbay.jetty.handler.AbstractHandler
          extended by org.mortbay.jetty.handler.ResourceHandler
All Implemented Interfaces:
LifeCycle, Handler

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)

Author:
Greg Wilkins (gregw)

Field Summary
 
Fields inherited from class org.mortbay.jetty.handler.AbstractHandler
_string
 
Fields inherited from interface org.mortbay.jetty.Handler
ALL, DEFAULT, ERROR, FORWARD, INCLUDE, REQUEST
 
Constructor Summary
ResourceHandler()
           
 
Method Summary
protected  void doResponseHeaders(HttpServletResponse response, Resource resource, String mimeType)
          Set the response headers.
 void doStart()
           
 Resource getBaseResource()
           
 String getCacheControl()
           
protected  Resource getResource(HttpServletRequest request)
           
 Resource getResource(String path)
           
 String getResourceBase()
           
protected  Resource getWelcome(Resource directory)
           
 String[] getWelcomeFiles()
           
 void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch)
          Handle a request.
 void setBaseResource(Resource base)
           
 void setCacheControl(String cacheControl)
           
 void setResourceBase(String resourceBase)
           
 void setWelcomeFiles(String[] welcomeFiles)
           
 
Methods inherited from class org.mortbay.jetty.handler.AbstractHandler
destroy, doStop, getServer, setServer, toString
 
Methods inherited from class org.mortbay.component.AbstractLifeCycle
isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mortbay.component.LifeCycle
isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop
 

Constructor Detail

ResourceHandler

public ResourceHandler()
Method Detail

doStart

public void doStart()
             throws Exception
Overrides:
doStart in class AbstractHandler
Throws:
Exception

getBaseResource

public Resource getBaseResource()
Returns:
Returns the resourceBase.

getResourceBase

public 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(String resourceBase)
Parameters:
resourceBase - The base resource as a string.

getCacheControl

public String getCacheControl()
Returns:
the cacheControl header to set on all static content.

setCacheControl

public void setCacheControl(String cacheControl)
Parameters:
cacheControl - the cacheControl header to set on all static content.

getResource

public Resource getResource(String path)
                     throws MalformedURLException
Throws:
MalformedURLException

getResource

protected Resource getResource(HttpServletRequest request)
                        throws MalformedURLException
Throws:
MalformedURLException

getWelcomeFiles

public String[] getWelcomeFiles()

setWelcomeFiles

public void setWelcomeFiles(String[] welcomeFiles)

getWelcome

protected Resource getWelcome(Resource directory)
                       throws MalformedURLException,
                              IOException
Throws:
MalformedURLException
IOException

handle

public void handle(String target,
                   HttpServletRequest request,
                   HttpServletResponse response,
                   int dispatch)
            throws IOException,
                   ServletException
Description copied from interface: Handler
Handle a request.

Parameters:
target - The target of the request - either a URI or a name.
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.
dispatch - The dispatch mode: Handler.REQUEST, Handler.FORWARD, Handler.INCLUDE, Handler.ERROR
Throws:
IOException
ServletException

doResponseHeaders

protected void doResponseHeaders(HttpServletResponse response,
                                 Resource resource,
                                 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 -