Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.mortbay.jetty.servlet
Class ServletHandler  view ServletHandler download ServletHandler.java

java.lang.Object
  extended byorg.mortbay.http.handler.AbstractHttpHandler
      extended byorg.mortbay.jetty.servlet.ServletHandler
All Implemented Interfaces:
org.mortbay.http.HttpHandler, org.mortbay.util.LifeCycle, java.io.Serializable
Direct Known Subclasses:
WebApplicationHandler

public class ServletHandler
extends org.mortbay.http.handler.AbstractHttpHandler

Servlet HttpHandler. This handler maps requests to servlets that implement the javax.servlet.http.HttpServlet API.

This handler does not implement the full J2EE features and is intended to be used when a full web application is not required. Specifically filters and request wrapping are not supported.

If a SessionManager is not added to the handler before it is initialized, then a HashSessionManager with a standard java.util.Random generator is created.

Version:
$Id: ServletHandler.java,v 1.101 2003/11/19 11:35:55 gregwilkins Exp $

Nested Class Summary
(package private)  class ServletHandler.Context
           
 
Field Summary
private static java.lang.String __AllowString
           
static java.lang.String __DEFAULT_SERVLET
           
static java.lang.String __J_S_CONTEXT_TEMPDIR
           
static java.lang.String __J_S_ERROR_EXCEPTION
           
static java.lang.String __J_S_ERROR_EXCEPTION_TYPE
           
static java.lang.String __J_S_ERROR_MESSAGE
           
static java.lang.String __J_S_ERROR_REQUEST_URI
           
static java.lang.String __J_S_ERROR_SERVLET_NAME
           
static java.lang.String __J_S_ERROR_STATUS_CODE
           
private static boolean __Slosh2Slash
           
private  boolean _autoInitializeServlets
           
protected  ServletHandler.Context _context
           
protected  java.lang.String _formErrorPage
           
protected  java.lang.String _formLoginPage
           
protected  java.lang.ClassLoader _loader
           
protected  java.util.Map _nameMap
           
protected  org.mortbay.http.PathMap _servletMap
           
protected  SessionManager _sessionManager
           
private  boolean _usingCookies
           
private static org.apache.commons.logging.Log log
           
 
Fields inherited from class org.mortbay.http.handler.AbstractHttpHandler
 
Constructor Summary
ServletHandler()
          Constructor.
 
Method Summary
 ServletHolder addServlet(java.lang.String pathSpec, java.lang.String servletClass)
           
 ServletHolder addServlet(java.lang.String name, java.lang.String pathSpec, java.lang.String servletClass)
          Add a servlet.
 ServletHolder addServlet(java.lang.String name, java.lang.String pathSpec, java.lang.String servletClass, java.lang.String forcedPath)
          Add a servlet.
(package private)  void addServletHolder(java.lang.String pathSpec, ServletHolder holder)
           
protected  void dispatch(java.lang.String pathInContext, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ServletHolder servletHolder)
          Dispatch to a servletHolder.
 void formAuthInit(java.lang.String formLoginPage, java.lang.String formErrorPage)
           
 java.lang.ClassLoader getClassLoader()
           
(package private)  java.lang.String getErrorPage(int status, ServletHttpRequest request)
           
 java.util.Map.Entry getHolderEntry(java.lang.String pathInContext)
          ServletHolder matching path.
(package private)  javax.servlet.http.HttpSession getHttpSession(java.lang.String id)
           
 javax.servlet.RequestDispatcher getNamedDispatcher(java.lang.String name)
          Get Named dispatcher.
 java.lang.String getRealPath(java.lang.String path)
           
 javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String uriInContext)
           
 java.net.URL getResource(java.lang.String uriInContext)
          Get a Resource.
 java.io.InputStream getResourceAsStream(java.lang.String uriInContext)
           
 java.util.Set getResourcePaths(java.lang.String uriInContext)
           
 javax.servlet.ServletContext getServletContext()
           
 ServletHolder getServletHolder(java.lang.String name)
           
 org.mortbay.http.PathMap getServletMap()
           
 ServletHolder[] getServlets()
          Get Servlets.
 SessionManager getSessionManager()
           
 void handle(java.lang.String pathInContext, java.lang.String pathParams, org.mortbay.http.HttpRequest httpRequest, org.mortbay.http.HttpResponse httpResponse)
          Handle request.
(package private)  void handleOptions(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
(package private)  void handleTrace(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 void initialize(org.mortbay.http.HttpContext context)
          Initialize with a HttpContext.
 void initializeServlets()
          Initialize load-on-startup servlets.
 boolean isAutoInitializeServlets()
           
 boolean isUsingCookies()
           
 ServletHolder mapPathToServlet(java.lang.String pathSpec, java.lang.String servletName)
           
(package private)  javax.servlet.http.HttpSession newHttpSession(javax.servlet.http.HttpServletRequest request)
           
 ServletHolder newServletHolder(java.lang.String name, java.lang.String servletClass)
           
 ServletHolder newServletHolder(java.lang.String name, java.lang.String servletClass, java.lang.String forcedPath)
           
(package private)  void notFound(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 void setAutoInitializeServlets(boolean b)
           
 void setDynamicInitParams(java.util.Map initParams)
          Deprecated. Use org.mortbay.jetty.servlet.Invoker
 void setDynamicServletPathSpec(java.lang.String dynamicServletPathSpec)
          Deprecated. Use org.mortbay.jetty.servlet.Invoker
 void setServeDynamicSystemServlets(boolean b)
          Deprecated. Use org.mortbay.jetty.servlet.Invoker
(package private)  void setSessionInactiveInterval(int seconds)
           
 void setSessionManager(SessionManager sm)
           
 void setUsingCookies(boolean uc)
           
 void start()
          Start the LifeCycle.
 void stop()
          Stop the LifeCycle.
 
Methods inherited from class org.mortbay.http.handler.AbstractHttpHandler
getHttpContext, getName, handleTrace, isStarted, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

private static org.apache.commons.logging.Log log

__DEFAULT_SERVLET

public static final java.lang.String __DEFAULT_SERVLET
See Also:
Constant Field Values

__J_S_CONTEXT_TEMPDIR

public static final java.lang.String __J_S_CONTEXT_TEMPDIR
See Also:
Constant Field Values

__J_S_ERROR_EXCEPTION

public static final java.lang.String __J_S_ERROR_EXCEPTION
See Also:
Constant Field Values

__J_S_ERROR_EXCEPTION_TYPE

public static final java.lang.String __J_S_ERROR_EXCEPTION_TYPE
See Also:
Constant Field Values

__J_S_ERROR_MESSAGE

public static final java.lang.String __J_S_ERROR_MESSAGE
See Also:
Constant Field Values

__J_S_ERROR_REQUEST_URI

public static final java.lang.String __J_S_ERROR_REQUEST_URI
See Also:
Constant Field Values

__J_S_ERROR_SERVLET_NAME

public static final java.lang.String __J_S_ERROR_SERVLET_NAME
See Also:
Constant Field Values

__J_S_ERROR_STATUS_CODE

public static final java.lang.String __J_S_ERROR_STATUS_CODE
See Also:
Constant Field Values

__Slosh2Slash

private static final boolean __Slosh2Slash

__AllowString

private static java.lang.String __AllowString

_usingCookies

private boolean _usingCookies

_autoInitializeServlets

private boolean _autoInitializeServlets

_servletMap

protected org.mortbay.http.PathMap _servletMap

_nameMap

protected java.util.Map _nameMap

_formLoginPage

protected java.lang.String _formLoginPage

_formErrorPage

protected java.lang.String _formErrorPage

_sessionManager

protected SessionManager _sessionManager

_context

protected transient ServletHandler.Context _context

_loader

protected transient java.lang.ClassLoader _loader
Constructor Detail

ServletHandler

public ServletHandler()
Constructor.

Method Detail

initialize

public void initialize(org.mortbay.http.HttpContext context)
Description copied from class: org.mortbay.http.handler.AbstractHttpHandler
Initialize with a HttpContext. Called by addHandler methods of HttpContext.


formAuthInit

public void formAuthInit(java.lang.String formLoginPage,
                         java.lang.String formErrorPage)

setSessionManager

public void setSessionManager(SessionManager sm)

getSessionManager

public SessionManager getSessionManager()

getServletContext

public javax.servlet.ServletContext getServletContext()

getServletMap

public org.mortbay.http.PathMap getServletMap()

isUsingCookies

public boolean isUsingCookies()

setDynamicServletPathSpec

public void setDynamicServletPathSpec(java.lang.String dynamicServletPathSpec)
Deprecated. Use org.mortbay.jetty.servlet.Invoker

Set the dynamic servlet path.


setDynamicInitParams

public void setDynamicInitParams(java.util.Map initParams)
Deprecated. Use org.mortbay.jetty.servlet.Invoker

Set dynamic servlet initial parameters.


setServeDynamicSystemServlets

public void setServeDynamicSystemServlets(boolean b)
Deprecated. Use org.mortbay.jetty.servlet.Invoker

Set serving dynamic system servlets.


getClassLoader

public java.lang.ClassLoader getClassLoader()

setUsingCookies

public void setUsingCookies(boolean uc)

newServletHolder

public ServletHolder newServletHolder(java.lang.String name,
                                      java.lang.String servletClass,
                                      java.lang.String forcedPath)

newServletHolder

public ServletHolder newServletHolder(java.lang.String name,
                                      java.lang.String servletClass)

getServletHolder

public ServletHolder getServletHolder(java.lang.String name)

mapPathToServlet

public ServletHolder mapPathToServlet(java.lang.String pathSpec,
                                      java.lang.String servletName)

addServlet

public ServletHolder addServlet(java.lang.String name,
                                java.lang.String pathSpec,
                                java.lang.String servletClass,
                                java.lang.String forcedPath)
Add a servlet.


addServlet

public ServletHolder addServlet(java.lang.String name,
                                java.lang.String pathSpec,
                                java.lang.String servletClass)
Add a servlet.


addServlet

public ServletHolder addServlet(java.lang.String pathSpec,
                                java.lang.String servletClass)

addServletHolder

void addServletHolder(java.lang.String pathSpec,
                      ServletHolder holder)

isAutoInitializeServlets

public boolean isAutoInitializeServlets()

setAutoInitializeServlets

public void setAutoInitializeServlets(boolean b)

start

public void start()
           throws java.lang.Exception
Description copied from interface: org.mortbay.util.LifeCycle
Start the LifeCycle.


getServlets

public ServletHolder[] getServlets()
Get Servlets.


initializeServlets

public void initializeServlets()
                        throws java.lang.Exception
Initialize load-on-startup servlets. Called automatically from start if autoInitializeServlet is true.


stop

public void stop()
          throws java.lang.InterruptedException
Description copied from interface: org.mortbay.util.LifeCycle
Stop the LifeCycle. The LifeCycle may wait for current activities to complete normally, but it can be interrupted.


getHttpSession

javax.servlet.http.HttpSession getHttpSession(java.lang.String id)

newHttpSession

javax.servlet.http.HttpSession newHttpSession(javax.servlet.http.HttpServletRequest request)

setSessionInactiveInterval

void setSessionInactiveInterval(int seconds)

handle

public void handle(java.lang.String pathInContext,
                   java.lang.String pathParams,
                   org.mortbay.http.HttpRequest httpRequest,
                   org.mortbay.http.HttpResponse httpResponse)
            throws java.io.IOException
Handle request.


dispatch

protected void dispatch(java.lang.String pathInContext,
                        javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response,
                        ServletHolder servletHolder)
                 throws javax.servlet.ServletException,
                        javax.servlet.UnavailableException,
                        java.io.IOException
Dispatch to a servletHolder. This method may be specialized to insert extra handling in the dispatch of a request to a specific servlet. This is used by WebApplicatonHandler to implement dispatched filters. The default implementation simply calls ServletHolder.handle(request,response)


getHolderEntry

public java.util.Map.Entry getHolderEntry(java.lang.String pathInContext)
ServletHolder matching path.


getResourcePaths

public java.util.Set getResourcePaths(java.lang.String uriInContext)

getResource

public java.net.URL getResource(java.lang.String uriInContext)
                         throws java.net.MalformedURLException
Get a Resource. If no resource is found, resource aliases are tried.


getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String uriInContext)

getRealPath

public java.lang.String getRealPath(java.lang.String path)

getRequestDispatcher

public javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String uriInContext)

getNamedDispatcher

public javax.servlet.RequestDispatcher getNamedDispatcher(java.lang.String name)
Get Named dispatcher.


notFound

void notFound(javax.servlet.http.HttpServletRequest request,
              javax.servlet.http.HttpServletResponse response)
        throws java.io.IOException

handleTrace

void handleTrace(javax.servlet.http.HttpServletRequest request,
                 javax.servlet.http.HttpServletResponse response)
           throws java.io.IOException

handleOptions

void handleOptions(javax.servlet.http.HttpServletRequest request,
                   javax.servlet.http.HttpServletResponse response)
             throws java.io.IOException

getErrorPage

java.lang.String getErrorPage(int status,
                              ServletHttpRequest request)