org.mortbay.jetty.servlet
Class ServletHandler

java.lang.Object
  |
  +--org.mortbay.http.handler.NullHandler
        |
        +--org.mortbay.jetty.servlet.ServletHandler
All Implemented Interfaces:
HttpHandler, LifeCycle, SecurityHandler.FormAuthenticator

public class ServletHandler
extends NullHandler
implements SecurityHandler.FormAuthenticator

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

Version:
$Id: ServletHandler.java,v 1.10 2001/11/01 05:16:38 gregwilkins Exp $
Author:
Greg Wilkins

Field Summary
static java.lang.String __J_AUTHENTICATED
           
static java.lang.String __J_URI
           
static java.lang.String __JSP_SERVLET
           
static java.lang.String __SERVLET_HOLDER
           
static java.lang.String __SERVLET_REQUEST
           
 
Fields inherited from interface org.mortbay.http.handler.SecurityHandler.FormAuthenticator
__J_PASSWORD, __J_SECURITY_CHECK, __J_USERNAME
 
Constructor Summary
ServletHandler()
          Constructor.
 
Method Summary
 void addHolder(java.lang.String pathSpec, ServletHolder holder)
           
 ServletHolder addServlet(java.lang.String pathSpec, java.lang.String servletClass)
           
 ServletHolder addServlet(java.lang.String name, java.lang.String pathSpec, java.lang.String servletClass)
           
 void destroy()
          Destroy Handler.
 boolean formAuthenticated(SecurityHandler shandler, java.lang.String pathInContext, java.lang.String pathParams, HttpRequest httpRequest, HttpResponse httpResponse)
          Perform form authentication.
 java.lang.ClassLoader getClassLoader()
           
 Context getContext()
           
 java.util.Map getDynamicInitParams()
           
 java.lang.String getDynamicServletPathSpec()
           
 java.util.Map.Entry getHolderEntry(java.lang.String pathInContext)
          ServletHolder matching path.
 java.lang.String getJSPClassName()
           
 boolean getServeDynamicSystemServlets()
           
 ServletHolder getServletHolder(java.lang.String name)
          Get servlet by name.
 PathMap getServletMap()
           
 ServletRequest getServletRequest(HttpRequest httpRequest, HttpResponse httpResponse)
          Get or create a ServletRequest.
 void handle(java.lang.String pathInContext, java.lang.String pathParams, HttpRequest httpRequest, HttpResponse httpResponse)
          Handle request.
 boolean isAutoReload()
           
 boolean isStarted()
           
 boolean isUsingCookies()
           
 ServletHolder newServletHolder(java.lang.String servletClass)
           
 ServletHolder newServletHolder(java.lang.String servletClass, java.lang.String path)
           
 int sessionCount()
           
 void setAutoReload(boolean autoReload)
          Not Supported.
 void setDynamicInitParams(java.util.Map initParams)
          Set dynamic servlet initial parameters.
 void setDynamicServletPathSpec(java.lang.String dynamicServletPathSpec)
          Set the dynamic servlet path.
 void setServeDynamicSystemServlets(boolean b)
          Set serving dynamic system servlets.
 void setSessionId(java.lang.String pathParams, ServletRequest request)
          Strip session from path.
 void setUsingCookies(boolean uc)
           
 void start()
          Start the handler.
 void stop()
          Stop the handler.
 
Methods inherited from class org.mortbay.http.handler.NullHandler
getHandlerContext, getName, initialize, isDestroyed, setName, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

__JSP_SERVLET

public static final java.lang.String __JSP_SERVLET

__SERVLET_REQUEST

public static final java.lang.String __SERVLET_REQUEST

__SERVLET_HOLDER

public static final java.lang.String __SERVLET_HOLDER

__J_URI

public static final java.lang.String __J_URI

__J_AUTHENTICATED

public static final java.lang.String __J_AUTHENTICATED
Constructor Detail

ServletHandler

public ServletHandler()
Constructor.
Method Detail

getContext

public Context getContext()

getServletMap

public PathMap getServletMap()

isAutoReload

public boolean isAutoReload()

getDynamicServletPathSpec

public java.lang.String getDynamicServletPathSpec()

getDynamicInitParams

public java.util.Map getDynamicInitParams()

isUsingCookies

public boolean isUsingCookies()

getServeDynamicSystemServlets

public boolean getServeDynamicSystemServlets()
Returns:
True if dynamic servlets can be on the non-context classpath

setDynamicServletPathSpec

public void setDynamicServletPathSpec(java.lang.String dynamicServletPathSpec)
Set the dynamic servlet path. If set, the ServletHandler will dynamically load servlet classes that have their class names as the path info after the set path sepcification.
Parameters:
dynamicServletPathSpec - The path within the context at which dynamic servlets are launched. eg /servlet/*

setDynamicInitParams

public void setDynamicInitParams(java.util.Map initParams)
Set dynamic servlet initial parameters.
Parameters:
initParams - Map passed as initParams to newly created dynamic servlets.

setServeDynamicSystemServlets

public void setServeDynamicSystemServlets(boolean b)
Set serving dynamic system servlets. This is a security option so that you can control what servlets can be loaded with dynamic discovery.
Parameters:
b - If set to false, the dynamic servlets must be loaded by the context classloader.

setAutoReload

public void setAutoReload(boolean autoReload)
Not Supported.
Parameters:
autoReload -  

getClassLoader

public java.lang.ClassLoader getClassLoader()

setUsingCookies

public void setUsingCookies(boolean uc)
Parameters:
sc - If true, cookies are used for sessions

isStarted

public boolean isStarted()
Overrides:
isStarted in class NullHandler
Following copied from interface: org.mortbay.http.HttpHandler
Returns:
True if the handler has been started.

start

public void start()
           throws java.lang.Exception
Description copied from interface: HttpHandler
Start the handler. All requests are ignored until start is called.
Overrides:
start in class NullHandler
Following copied from interface: org.mortbay.util.LifeCycle
Throws:
java.lang.Exception - An arbitrary exception may be thrown.

stop

public void stop()
Description copied from interface: HttpHandler
Stop the handler. New requests are refused and the handler may attempt to wait for existing requests to complete. The caller may interrupt the stop call is waiting is taking too long.
Overrides:
stop in class NullHandler

addServlet

public ServletHolder addServlet(java.lang.String name,
                                java.lang.String pathSpec,
                                java.lang.String servletClass)
Parameters:
path -  
servletClass -  

addServlet

public ServletHolder addServlet(java.lang.String pathSpec,
                                java.lang.String servletClass)
Parameters:
path -  
servletClass -  

getServletHolder

public ServletHolder getServletHolder(java.lang.String name)
Get servlet by name.
Parameters:
name -  
Returns:
 

addHolder

public void addHolder(java.lang.String pathSpec,
                      ServletHolder holder)

getServletRequest

public ServletRequest getServletRequest(HttpRequest httpRequest,
                                        HttpResponse httpResponse)
Get or create a ServletRequest. Create a new or retrieve a previously created servlet request that wraps the http request. Note that the ServletResponse is also created and can be retrieved from the ServletRequest.
Parameters:
httpRequest -  
Returns:
ServletRequest wrapping the passed HttpRequest.

setSessionId

public void setSessionId(java.lang.String pathParams,
                         ServletRequest request)
Strip session from path. Strip the session ID from a request path. The session is accessed in this process.
Parameters:
pathInContext - The path which may contain the session ID
request - The request made on the path.
Returns:
The path in the context, stripped of any session ID.

sessionCount

public int sessionCount()
Returns:
Number of valid sessions

handle

public void handle(java.lang.String pathInContext,
                   java.lang.String pathParams,
                   HttpRequest httpRequest,
                   HttpResponse httpResponse)
            throws java.io.IOException
Handle request.
Parameters:
contextPath -  
pathInContext -  
httpRequest -  
httpResponse -  
Throws:
java.io.IOException -  

getHolderEntry

public java.util.Map.Entry getHolderEntry(java.lang.String pathInContext)
ServletHolder matching path. In a separate method so that dynamic servlet loading can be implemented by derived handlers.
Parameters:
pathInContext - Path within context.
Returns:
PathMap Entries pathspec to ServletHolder

newServletHolder

public ServletHolder newServletHolder(java.lang.String servletClass)
                               throws UnavailableException,
                                      java.lang.ClassNotFoundException

newServletHolder

public ServletHolder newServletHolder(java.lang.String servletClass,
                                      java.lang.String path)
                               throws UnavailableException,
                                      java.lang.ClassNotFoundException

destroy

public void destroy()
Destroy Handler. Destroy all servlets
Overrides:
destroy in class NullHandler

getJSPClassName

public java.lang.String getJSPClassName()

formAuthenticated

public boolean formAuthenticated(SecurityHandler shandler,
                                 java.lang.String pathInContext,
                                 java.lang.String pathParams,
                                 HttpRequest httpRequest,
                                 HttpResponse httpResponse)
                          throws java.io.IOException
Perform form authentication. Called from SecurityHandler.
Specified by:
formAuthenticated in interface SecurityHandler.FormAuthenticator
Returns:
true if authenticated.


Copyright © 2000 Mortbay Consulting Pty. Ltd. All Rights Reserved.