org.mortbay.http

Class HttpContext

Implemented Interfaces:
EventProvider, HttpHandler, LifeCycle, Serializable
Known Direct Subclasses:
ServletHttpContext

public class HttpContext
extends Container
implements LifeCycle, HttpHandler, EventProvider, Serializable

Context for a collection of HttpHandlers. HTTP Context provides an ordered container for HttpHandlers that share the same path prefix, filebase, resourcebase and/or classpath.

A HttpContext is analagous to a ServletContext in the Servlet API, except that it may contain other types of handler other than servlets.

A ClassLoader is created for the context and it uses Thread.currentThread().getContextClassLoader(); as it's parent loader. The class loader is initialized during start(), when a derived context calls initClassLoader() or on the first call to loadClass()

Note. that order is important when configuring a HttpContext. For example, if resource serving is enabled before servlets, then resources take priority.

Version:
$Id: HttpContext.java,v 1.135 2005/11/19 09:04:53 gregwilkins Exp $
Author:
Greg Wilkins (gregw)
See Also:
HttpServer, HttpHandler, ServletHttpContext

Field Summary

static String
__ErrorHandler
static String
__fileClassPathAttr
File class path attribute.

Constructor Summary

HttpContext()
Constructor.
HttpContext(HttpServer httpServer, String contextPathSpec)
Constructor.

Method Summary

void
addClassPath(String classPath)
Add the class path element to the context.
void
addClassPaths(Resource lib)
Add elements to the class path for the context from the jar and zip files found in the specified resource.
void
addHandler(int i, HttpHandler handler)
Add a handler.
void
addHandler(HttpHandler handler)
Add a HttpHandler to the context.
void
addPermission(Permission permission)
Add a permission to this context.
void
addSecurityConstraint(String pathSpec, SecurityConstraint sc)
void
addVirtualHost(String hostname)
Add a virtual host alias to this context.
void
addWelcomeFile(String welcomeFile)
static String
canonicalContextPathSpec(String contextPathSpec)
boolean
checkSecurityConstraints(String pathInContext, HttpRequest request, HttpResponse response)
void
clearSecurityConstraints()
void
destroy()
Destroy a context.
protected void
doStart()
protected void
doStop()
Stop the context.
Object
enterContextScope(HttpRequest request, HttpResponse response)
Enter the context scope.
void
flushCache()
Object
getAttribute(String name)
Enumeration
getAttributeNames()
Map
getAttributes()
Authenticator
getAuthenticator()
Resource
getBaseResource()
ClassLoader
getClassLoader()
Get the classloader.
String
getClassPath()
Get the context classpath.
String
getContextPath()
String
getEncodingByMimeType(String type)
Map
getEncodingMap()
String
getFileClassPath()
Get the file classpath of the context.
HttpHandler
getHandler(Class handlerClass)
Get a handler by class.
int
getHandlerIndex(HttpHandler handler)
Get handler index.
HttpHandler[]
getHandlers()
Get all handlers.
String[]
getHosts()
Get the hosts for the context.
HttpConnection
getHttpConnection()
Get the ThreadLocal HttpConnection.
HttpContext
getHttpContext()
String
getHttpContextName()
HttpServer
getHttpServer()
String
getInitParameter(String param)
Get context init parameter.
Enumeration
getInitParameterNames()
Get context init parameter.
int
getMaxCacheSize()
int
getMaxCachedFileSize()
String
getMimeByExtension(String filename)
Map
getMimeMap()
String
getName()
Get the name of the handler.
ClassLoader
getParentClassLoader()
PermissionCollection
getPermissions()
Get the permissions to be used for this context.
UserRealm
getRealm()
String
getRealmName()
RequestLog
getRequestLog()
int
getRequests()
int
getRequestsActive()
int
getRequestsActiveMax()
Resource
getResource(String pathInContext)
String
getResourceBase()
ResourceCache.ResourceMetaData
getResourceMetaData(Resource resource)
int
getResponses1xx()
int
getResponses2xx()
int
getResponses3xx()
int
getResponses4xx()
int
getResponses5xx()
String[]
getServerClasses()
Get system classes.
boolean
getStatsOn()
long
getStatsOnMs()
boolean
getStopGracefully()
String[]
getSystemClasses()
Get system classes.
File
getTempDirectory()
Get Context temporary directory.
String[]
getVirtualHosts()
Get the virtual hosts for the context.
String
getWelcomeFile(Resource resource)
String[]
getWelcomeFiles()
void
handle(String pathInContext, String pathParams, HttpRequest request, HttpResponse response)
Handler request.
void
handle(HttpRequest request, HttpResponse response)
Handler request.
protected void
initClassLoader(boolean forceContextLoader)
Initialize the context classloader.
void
initialize(HttpContext context)
boolean
isClassLoaderJava2Compliant()
Get Java2 compliant classloading.
boolean
isRedirectNullPath()
void
leaveContextScope(HttpRequest request, HttpResponse response, Object oldScope)
Leave the context scope.
Class
loadClass(String className)
void
log(HttpRequest request, HttpResponse response, int length)
Log a request and response.
void
removeAttribute(String name)
HttpHandler
removeHandler(int i)
Remove a handler.
void
removeHandler(HttpHandler handler)
Remove a handler.
void
removeVirtualHost(String hostname)
remove a virtual host alias to this context.
void
removeWelcomeFile(String welcomeFile)
static void
sendContextError(HttpResponse response, int code, String msg)
Send an error response.
void
sendError(HttpResponse response, int code, String msg)
Send an error response.
void
setAttribute(String name, Object value)
Set a context attribute.
void
setAttributes(Map attributes)
void
setAuthenticator(Authenticator authenticator)
void
setBaseResource(Resource base)
void
setClassLoader(ClassLoader loader)
Set ClassLoader.
void
setClassLoaderJava2Compliant(boolean compliant)
Set Java2 compliant classloading.
void
setClassPath(String classPath)
Sets the class path for the context.
void
setContextPath(String contextPathSpec)
void
setEncodingMap(Map encodingMap)
void
setHandlers(HttpHandler[] handlers)
void
setHosts(String[] hosts)
Set the hosts for the context.
void
setHttpContextName(String s)
void
setInitParameter(String param, String value)
Set context init parameter.
void
setMaxCacheSize(int maxCacheSize)
void
setMaxCachedFileSize(int maxCachedFileSize)
void
setMimeMap(Map mimeMap)
void
setMimeMapping(String extension, String type)
void
setParentClassLoader(ClassLoader loader)
Set Parent ClassLoader.
void
setPermissions(PermissionCollection permissions)
Set the permissions to be used for this context.
void
setRealm(UserRealm realm)
Set the realm.
void
setRealmName(String realmName)
Set the realm name.
void
setRedirectNullPath(boolean b)
Set null path redirection.
void
setRequestLog(RequestLog log)
Set the request log.
void
setResourceBase(String resourceBase)
void
setServerClasses(String[] classes)
Set system classes.
void
setStatsOn(boolean on)
True set statistics recording on for this context.
void
setStopGracefully(boolean graceful)
void
setSystemClasses(String[] classes)
Set system classes.
void
setTempDirectory(File dir)
Set temporary directory for context.
void
setTypeEncoding(String mimeType, String encoding)
void
setVirtualHosts(String[] hosts)
Set the virtual hosts for the context.
void
setWelcomeFiles(String[] welcomes)
protected void
startHandlers()
Start the handlers.
void
statsReset()
void
stop(boolean graceful)
Stop the context.
String
toString()
String
toString(boolean detail)

Methods inherited from class org.mortbay.util.Container

addComponent, addEventListener, destroy, doStart, doStop, getComponents, isStarted, isStarting, isStopping, removeComponent, removeEventListener, start, stop

Field Details

__ErrorHandler

public static final String __ErrorHandler

__fileClassPathAttr

public static final String __fileClassPathAttr
File class path attribute. If this name is set as a context init parameter, then the attribute name given will be used to set the file classpath for the context as a context attribute.

Constructor Details

HttpContext

public HttpContext()
Constructor.

HttpContext

public HttpContext(HttpServer httpServer,
                   String contextPathSpec)
Constructor.
Parameters:
httpServer -
contextPathSpec -

Method Details

addClassPath

public void addClassPath(String classPath)
Add the class path element to the context. A class path is only required for a context if it uses classes that are not in the system class path.
Parameters:
classPath - a comma or ';' separated list of class resources. These may be jar files, directories or URLs to jars or directories.

addClassPaths

public void addClassPaths(Resource lib)
Add elements to the class path for the context from the jar and zip files found in the specified resource.
Parameters:
lib - the resource that contains the jar and/or zip files.

addHandler

public void addHandler(int i,
                       HttpHandler handler)
Add a handler.
Parameters:
i - The position in the handler list
handler - The handler.

addHandler

public void addHandler(HttpHandler handler)
Add a HttpHandler to the context.
Parameters:
handler -

addPermission

public void addPermission(Permission permission)
Add a permission to this context. The collection of permissions set here are used for all classes loaded by this context. This is simpler that creating a security policy file, as not all code sources may be statically known.
Parameters:
permission -

addSecurityConstraint

public void addSecurityConstraint(String pathSpec,
                                  SecurityConstraint sc)

addVirtualHost

public void addVirtualHost(String hostname)
Add a virtual host alias to this context.
Parameters:
hostname - A hostname. A null host name means any hostname is acceptable. Host names may String representation of IP addresses.

addWelcomeFile

public void addWelcomeFile(String welcomeFile)

canonicalContextPathSpec

public static String canonicalContextPathSpec(String contextPathSpec)

checkSecurityConstraints

public boolean checkSecurityConstraints(String pathInContext,
                                        HttpRequest request,
                                        HttpResponse response)
            throws HttpException,
                   IOException

clearSecurityConstraints

public void clearSecurityConstraints()

destroy

public void destroy()
Destroy a context. Destroy a context and remove it from the HttpServer. The HttpContext must be stopped before it can be destroyed.
Overrides:
destroy in interface Container

doStart

protected void doStart()
            throws Exception
Overrides:
doStart in interface Container

doStop

protected void doStop()
            throws Exception
Stop the context.
Overrides:
doStop in interface Container

enterContextScope

public Object enterContextScope(HttpRequest request,
                                HttpResponse response)
Enter the context scope. This method is called (by handle or servlet dispatchers) to indicate that request handling is entering the scope of this context. The opaque scope object returned, should be passed to the leaveContextScope method.

flushCache

public void flushCache()

getAttribute

public Object getAttribute(String name)
Parameters:
name - attribute name
Returns:
attribute value or null

getAttributeNames

public Enumeration getAttributeNames()
Returns:
enumaration of names.

getAttributes

public Map getAttributes()

getAuthenticator

public Authenticator getAuthenticator()

getBaseResource

public Resource getBaseResource()
Returns:

getClassLoader

public ClassLoader getClassLoader()
Get the classloader. If no classloader has been set and the context has been loaded normally, then null is returned. If no classloader has been set and the context was loaded from a classloader, that loader is returned. If a classloader has been set and no classpath has been set then the set classloader is returned. If a classloader and a classpath has been set, then a new URLClassloader initialized on the classpath with the set loader as a partent is return.
Returns:
Classloader or null.

getClassPath

public String getClassPath()
Get the context classpath. This method only returns the paths that have been set for this context and does not include any paths from a parent or the system classloader. Note that this may not be a legal javac classpath.
Returns:
a comma or ';' separated list of class resources. These may be jar files, directories or URLs to jars or directories.

getContextPath

public String getContextPath()
Returns:
The context prefix

getEncodingByMimeType

public String getEncodingByMimeType(String type)
Parameters:
type -
Returns:

getEncodingMap

public Map getEncodingMap()
Returns:

getFileClassPath

public String getFileClassPath()
            throws IllegalStateException
Get the file classpath of the context. This method makes a best effort to return a complete file classpath for the context. It is obtained by walking the classloader hierarchy and looking for URLClassLoaders. The system property java.class.path is also checked for file elements not already found in the loader hierarchy.
Returns:
Path of files and directories for loading classes.

getHandler

public HttpHandler getHandler(Class handlerClass)
Get a handler by class.
Parameters:
handlerClass -
Returns:
The first handler that is an instance of the handlerClass

getHandlerIndex

public int getHandlerIndex(HttpHandler handler)
Get handler index.
Parameters:
handler - instance
Returns:
Index of handler in context or -1 if not found.

getHandlers

public HttpHandler[] getHandlers()
Get all handlers.
Returns:
List of all HttpHandlers

getHosts

public String[] getHosts()
Get the hosts for the context.

getHttpConnection

public HttpConnection getHttpConnection()
Get the ThreadLocal HttpConnection. Get the HttpConnection for current thread, if any. This method is not static in order to control access.
Returns:
HttpConnection for this thread.

getHttpContext

public HttpContext getHttpContext()
Specified by:
getHttpContext in interface HttpHandler

getHttpContextName

public String getHttpContextName()

getHttpServer

public HttpServer getHttpServer()

getInitParameter

public String getInitParameter(String param)
Get context init parameter.
Parameters:
param - param name
Returns:
param value or null

getInitParameterNames

public Enumeration getInitParameterNames()
Get context init parameter.
Returns:
Enumeration of names

getMaxCacheSize

public int getMaxCacheSize()
Returns:

getMaxCachedFileSize

public int getMaxCachedFileSize()
Returns:

getMimeByExtension

public String getMimeByExtension(String filename)
Parameters:
filename -
Returns:

getMimeMap

public Map getMimeMap()
Returns:

getName

public String getName()
Get the name of the handler.
Specified by:
getName in interface HttpHandler
Returns:
The name of the handler used for logging and reporting.

getParentClassLoader

public ClassLoader getParentClassLoader()

getPermissions

public PermissionCollection getPermissions()
Get the permissions to be used for this context.

getRealm

public UserRealm getRealm()

getRealmName

public String getRealmName()

getRequestLog

public RequestLog getRequestLog()

getRequests

public int getRequests()
Returns:
Get the number of requests handled by this context since last call of statsReset(). If setStatsOn(false) then this is undefined.

getRequestsActive

public int getRequestsActive()
Returns:
Number of requests currently active. Undefined if setStatsOn(false).

getRequestsActiveMax

public int getRequestsActiveMax()
Returns:
Maximum number of active requests since statsReset() called. Undefined if setStatsOn(false).

getResource

public Resource getResource(String pathInContext)
            throws IOException
Parameters:
pathInContext -
Returns:

getResourceBase

public String getResourceBase()
Returns:

getResourceMetaData

public ResourceCache.ResourceMetaData getResourceMetaData(Resource resource)
Parameters:
resource -
Returns:

getResponses1xx

public int getResponses1xx()
Returns:
Get the number of responses with a 2xx status returned by this context since last call of statsReset(). Undefined if if setStatsOn(false).

getResponses2xx

public int getResponses2xx()
Returns:
Get the number of responses with a 100 status returned by this context since last call of statsReset(). Undefined if if setStatsOn(false).

getResponses3xx

public int getResponses3xx()
Returns:
Get the number of responses with a 3xx status returned by this context since last call of statsReset(). Undefined if if setStatsOn(false).

getResponses4xx

public int getResponses4xx()
Returns:
Get the number of responses with a 4xx status returned by this context since last call of statsReset(). Undefined if if setStatsOn(false).

getResponses5xx

public int getResponses5xx()
Returns:
Get the number of responses with a 5xx status returned by this context since last call of statsReset(). Undefined if if setStatsOn(false).

getServerClasses

public String[] getServerClasses()
Get system classes. System classes cannot be seen by context classloaders.
Returns:
array of classname Strings. Names ending with '.' are treated as package names. Names starting with '-' are treated as negative matches and must be listed before any enclosing packages. Null if not set.

getStatsOn

public boolean getStatsOn()

getStatsOnMs

public long getStatsOnMs()

getStopGracefully

public boolean getStopGracefully()

getSystemClasses

public String[] getSystemClasses()
Get system classes. System classes cannot be overriden by context classloaders.
Returns:
array of classname Strings. Names ending with '.' are treated as package names. Names starting with '-' are treated as negative matches and must be listed before any enclosing packages. Null if not set.

getTempDirectory

public File getTempDirectory()
Get Context temporary directory. A tempory directory is generated if it has not been set. The "javax.servlet.context.tempdir" attribute is consulted and if not set, the host, port and context are used to generate a directory within the JVMs temporary directory.
Returns:
Temporary directory as a File.

getVirtualHosts

public String[] getVirtualHosts()
Get the virtual hosts for the context. Only requests that have a matching host header or fully qualified URL will be passed to that context with a virtual host name. A context with no virtual host names or a null virtual host name is available to all requests that are not served by a context with a matching virtual host name.
Returns:
Array of virtual hosts that this context responds to. A null host name or empty array means any hostname is acceptable. Host names may be String representation of IP addresses.

getWelcomeFile

public String getWelcomeFile(Resource resource)
            throws IOException

getWelcomeFiles

public String[] getWelcomeFiles()

handle

public void handle(String pathInContext,
                   String pathParams,
                   HttpRequest request,
                   HttpResponse response)
            throws HttpException,
                   IOException
Handler request. Call each HttpHandler until request is handled.
Specified by:
handle in interface HttpHandler
Parameters:
pathInContext - Path in context
pathParams - Path parameters such as encoded Session ID
request -
response -
Throws:
HttpException -

handle

public void handle(HttpRequest request,
                   HttpResponse response)
            throws HttpException,
                   IOException
Handler request. Determine the path within the context and then call handle(pathInContext,request,response).
Parameters:
request -
response -
Throws:
HttpException -

initClassLoader

protected void initClassLoader(boolean forceContextLoader)
            throws MalformedURLException,
                   IOException
Initialize the context classloader. Initialize the context classloader with the current parameters. Any attempts to change the classpath after this call will result in a IllegalStateException
Parameters:
forceContextLoader - If true, a ContextLoader is always if no loader has been set.

initialize

public void initialize(HttpContext context)
Specified by:
initialize in interface HttpHandler

isClassLoaderJava2Compliant

public boolean isClassLoaderJava2Compliant()
Get Java2 compliant classloading.
Returns:
If true, the class loader will conform to the java 2 specification and delegate all loads to the parent classloader. If false, the context classloader only delegate loads for system classes or classes that it can't find itself.

isRedirectNullPath

public boolean isRedirectNullPath()
Returns:
True if a /context request is redirected to /context/ if there is not path in the context.

leaveContextScope

public void leaveContextScope(HttpRequest request,
                              HttpResponse response,
                              Object oldScope)
Leave the context scope. This method is called (by handle or servlet dispatchers) to indicate that request handling is leaveing the scope of this context. The opaque scope object returned by enterContextScope should be passed in.

loadClass

public Class loadClass(String className)
            throws ClassNotFoundException

log

public void log(HttpRequest request,
                HttpResponse response,
                int length)
Log a request and response. Statistics are also collected by this method.
Parameters:
request -
response -

removeAttribute

public void removeAttribute(String name)
Parameters:
name - attribute name

removeHandler

public HttpHandler removeHandler(int i)
Remove a handler. The handler must be stopped before being removed.
Parameters:
i - index of handler

removeHandler

public void removeHandler(HttpHandler handler)
Remove a handler. The handler must be stopped before being removed.

removeVirtualHost

public void removeVirtualHost(String hostname)
remove a virtual host alias to this context.
Parameters:
hostname - A hostname. A null host name means any hostname is acceptable. Host names may String representation of IP addresses.

removeWelcomeFile

public void removeWelcomeFile(String welcomeFile)

sendContextError

public static void sendContextError(HttpResponse response,
                                    int code,
                                    String msg)
            throws IOException
Send an error response. This method obtains the responses context and call sendError for context specific error handling.
Parameters:
response - the response to send
code - The error code
msg - The message for the error or null for the default

sendError

public void sendError(HttpResponse response,
                      int code,
                      String msg)
            throws IOException
Send an error response. This method may be specialized to provide alternative error handling for errors generated by the container. The default implemenation calls HttpResponse.sendError
Parameters:
response - the response to send
code - The error code
msg - The message for the error or null for the default

setAttribute

public void setAttribute(String name,
                         Object value)
Set a context attribute.
Parameters:
name - attribute name
value - attribute value

setAttributes

public void setAttributes(Map attributes)

setAuthenticator

public void setAuthenticator(Authenticator authenticator)

setBaseResource

public void setBaseResource(Resource base)
Parameters:
base -

setClassLoader

public void setClassLoader(ClassLoader loader)
Set ClassLoader.
Parameters:
loader - The loader to be used by this context.

setClassLoaderJava2Compliant

public void setClassLoaderJava2Compliant(boolean compliant)
Set Java2 compliant classloading.
Parameters:
compliant - If true, the class loader will conform to the java 2 specification and delegate all loads to the parent classloader. If false, the context classloader only delegate loads for system classes or classes that it can't find itself.

setClassPath

public void setClassPath(String classPath)
Sets the class path for the context. A class path is only required for a context if it uses classes that are not in the system class path.
Parameters:
classPath - a comma or ';' separated list of class resources. These may be jar files, directories or URLs to jars or directories.

setContextPath

public void setContextPath(String contextPathSpec)

setEncodingMap

public void setEncodingMap(Map encodingMap)
Parameters:
encodingMap -

setHandlers

public void setHandlers(HttpHandler[] handlers)

setHosts

public void setHosts(String[] hosts)
            throws UnknownHostException
Set the hosts for the context. Set the real hosts that this context will accept requests for. If not null or empty, then only requests from HttpListeners for hosts in this array are accepted by this context. Unlike virutal hosts, this value is not used by HttpServer for matching a request to a context.

setHttpContextName

public void setHttpContextName(String s)

setInitParameter

public void setInitParameter(String param,
                             String value)
Set context init parameter. Init Parameters differ from attributes as they can only have string values, servlets cannot set them and they do not have a package scoped name space.
Parameters:
param - param name
value - param value or null

setMaxCacheSize

public void setMaxCacheSize(int maxCacheSize)
Parameters:
maxCacheSize -

setMaxCachedFileSize

public void setMaxCachedFileSize(int maxCachedFileSize)
Parameters:
maxCachedFileSize -

setMimeMap

public void setMimeMap(Map mimeMap)
Parameters:
mimeMap -

setMimeMapping

public void setMimeMapping(String extension,
                           String type)
Parameters:
extension -
type -

setParentClassLoader

public void setParentClassLoader(ClassLoader loader)
Set Parent ClassLoader. By default the parent loader is the thread context classloader of the thread that calls initClassLoader. If setClassLoader is called, then the parent is ignored.
Parameters:
loader - The class loader to use for the parent loader of the context classloader.

setPermissions

public void setPermissions(PermissionCollection permissions)
Set the permissions to be used for this context. The collection of permissions set here are used for all classes loaded by this context. This is simpler that creating a security policy file, as not all code sources may be statically known.
Parameters:
permissions -

setRealm

public void setRealm(UserRealm realm)
Set the realm.

setRealmName

public void setRealmName(String realmName)
Set the realm name.
Parameters:
realmName - The name to use to retrieve the actual realm from the HttpServer

setRedirectNullPath

public void setRedirectNullPath(boolean b)
Set null path redirection.
Parameters:
b - if true a /context request will be redirected to /context/ if there is not path in the context.

setRequestLog

public void setRequestLog(RequestLog log)
Set the request log.
Parameters:
log - RequestLog to use.

setResourceBase

public void setResourceBase(String resourceBase)
Parameters:
resourceBase -

setServerClasses

public void setServerClasses(String[] classes)
Set system classes. Servers classes cannot be seen by context classloaders.
Parameters:
classes - array of classname Strings. Names ending with '.' are treated as package names. Names starting with '-' are treated as negative matches and must be listed before any enclosing packages.

setStatsOn

public void setStatsOn(boolean on)
True set statistics recording on for this context.
Parameters:
on - If true, statistics will be recorded for this context.

setStopGracefully

public void setStopGracefully(boolean graceful)

setSystemClasses

public void setSystemClasses(String[] classes)
Set system classes. System classes cannot be overriden by context classloaders.
Parameters:
classes - array of classname Strings. Names ending with '.' are treated as package names. Names starting with '-' are treated as negative matches and must be listed before any enclosing packages.

setTempDirectory

public void setTempDirectory(File dir)
Set temporary directory for context. The javax.servlet.context.tempdir attribute is also set.
Parameters:
dir - Writable temporary directory.

setTypeEncoding

public void setTypeEncoding(String mimeType,
                            String encoding)
Parameters:
mimeType -
encoding -

setVirtualHosts

public void setVirtualHosts(String[] hosts)
Set the virtual hosts for the context. Only requests that have a matching host header or fully qualified URL will be passed to that context with a virtual host name. A context with no virtual host names or a null virtual host name is available to all requests that are not served by a context with a matching virtual host name.
Parameters:
hosts - Array of virtual hosts that this context responds to. A null host name or null/empty array means any hostname is acceptable. Host names may String representation of IP addresses.

setWelcomeFiles

public void setWelcomeFiles(String[] welcomes)

startHandlers

protected void startHandlers()
            throws Exception
Start the handlers. This is called by start after the classloader has been initialized and set as the thread context loader. It may be specialized to provide custom handling before any handlers are started.

statsReset

public void statsReset()

stop

public void stop(boolean graceful)
            throws InterruptedException
Stop the context.
Parameters:
graceful - If true and statistics are on, then this method will wait for requestsActive to go to zero before calling stop()

toString

public String toString()

toString

public String toString(boolean detail)

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