org.eclipse.jetty.webapp
Class WebAppContext

java.lang.Object
  extended by org.eclipse.jetty.util.component.AbstractLifeCycle
      extended by org.eclipse.jetty.server.handler.AbstractHandler
          extended by org.eclipse.jetty.server.handler.AbstractHandlerContainer
              extended by org.eclipse.jetty.server.handler.HandlerWrapper
                  extended by org.eclipse.jetty.server.handler.ScopedHandler
                      extended by org.eclipse.jetty.server.handler.ContextHandler
                          extended by org.eclipse.jetty.servlet.ServletContextHandler
                              extended by org.eclipse.jetty.webapp.WebAppContext
All Implemented Interfaces:
Handler, CompleteHandler, HandlerContainer, Server.Graceful, Attributes, LifeCycle

public class WebAppContext
extends ServletContextHandler

Web Application Context Handler. The WebAppContext handler is an extension of ContextHandler that coordinates the construction and configuration of nested handlers: ConstraintSecurityHandler, SessionHandler and ServletHandler. The handlers are configured by pluggable configuration classes, with the default being org.eclipse.jetty.server.server.webapp.WebXmlConfiguration and org.eclipse.jetty.server.server.webapp.JettyWebXmlConfiguration.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.jetty.servlet.ServletContextHandler
ServletContextHandler.Context
 
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
 
Field Summary
static String ERROR_PAGE
           
static String TEMPDIR
           
static String WEB_DEFAULTS_XML
           
 
Fields inherited from class org.eclipse.jetty.servlet.ServletContextHandler
_defaultSecurityHandlerClass, _options, _securityHandler, _servletHandler, _sessionHandler, NO_SECURITY, NO_SESSIONS, SECURITY, SESSIONS
 
Fields inherited from class org.eclipse.jetty.server.handler.ContextHandler
_scontext, MANAGED_ATTRIBUTES
 
Fields inherited from class org.eclipse.jetty.server.handler.ScopedHandler
_nextScope, _outerScope
 
Fields inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
_handler
 
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
 
Fields inherited from interface org.eclipse.jetty.server.handler.CompleteHandler
COMPLETE_HANDLER_ATTR
 
Constructor Summary
WebAppContext()
           
WebAppContext(HandlerContainer parent, String webApp, String contextPath)
           
WebAppContext(SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
           
WebAppContext(String webApp, String contextPath)
           
 
Method Summary
 void addEventListener(EventListener listener)
          Add EventListener Conveniance method that calls setEventListeners(EventListener[])
protected  void doStart()
           
protected  void doStop()
           
 void dumpUrl()
           
 String[] getConfigurationClasses()
           
 Configuration[] getConfigurations()
           
static ContextHandler getCurrentWebAppContext()
           
 String getDefaultsDescriptor()
          The default descriptor is a web.xml format file that is applied to the context before the standard WEB-INF/web.xml
 String getDescriptor()
           
 String getExtraClasspath()
           
 String getOverrideDescriptor()
          The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xml
 PermissionCollection getPermissions()
           
 Resource getResource(String uriInContext)
           
 String getResourceAlias(String alias)
           
 Map getResourceAliases()
           
 String[] getServerClasses()
           
 String[] getSystemClasses()
           
 File getTempDirectory()
           
 Throwable getUnavailableException()
          Get an exception that caused the webapp to be unavailable
 String getWar()
           
 Resource getWebInf()
           
 boolean isConfigurationDiscovered()
          Is the context Automatically configured.
 boolean isCopyWebDir()
           
 boolean isDistributable()
           
 boolean isExtractWAR()
           
 boolean isLogUrlOnStart()
           
 boolean isParentLoaderPriority()
           
protected  boolean isProtectedTarget(String target)
          Check the target.
 boolean isServerClass(String name)
           
 boolean isSystemClass(String name)
           
protected  void loadConfigurations()
           
 String removeResourceAlias(String alias)
           
 void setClassLoader(ClassLoader classLoader)
           
 void setConfigurationClasses(String[] configurations)
           
 void setConfigurationDiscovered(boolean discovered)
          Set the configuration discovery mode.
 void setConfigurations(Configuration[] configurations)
           
 void setCopyWebDir(boolean copy)
           
 void setDefaultsDescriptor(String defaultsDescriptor)
          The default descriptor is a web.xml format file that is applied to the context before the standard WEB-INF/web.xml
 void setDescriptor(String descriptor)
           
 void setDisplayName(String servletContextName)
           
 void setDistributable(boolean distributable)
           
 void setEventListeners(EventListener[] eventListeners)
          Set the context event listeners.
 void setExtraClasspath(String extraClasspath)
           
 void setExtractWAR(boolean extractWAR)
           
 void setLogUrlOnStart(boolean logOnStart)
          Sets whether or not the web app name and URL is logged on startup
 void setOverrideDescriptor(String overrideDescriptor)
          The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xml
 void setParentLoaderPriority(boolean java2compliant)
           
 void setPermissions(PermissionCollection permissions)
           
 void setResourceAlias(String alias, String uri)
          Set Resource Alias.
 void setResourceAliases(Map map)
           
 void setServerClasses(String[] serverClasses)
          Set the server classes patterns.
 void setSystemClasses(String[] systemClasses)
          Set the system classes patterns.
 void setTempDirectory(File dir)
          Set temporary directory for context.
 void setWar(String war)
           
protected  void startContext()
          Finish constructing handlers and link them together.
 String toString()
           
 
Methods inherited from class org.eclipse.jetty.servlet.ServletContextHandler
addFilter, addFilter, addFilter, addServlet, addServlet, addServlet, getDefaultSecurityHandlerClass, getSecurityHandler, getServletHandler, getSessionHandler, newSecurityHandler, newServletHandler, newSessionHandler, setDefaultSecurityHandlerClass, setSecurityHandler, setServletHandler, setSessionHandler
 
Methods inherited from class org.eclipse.jetty.server.handler.ContextHandler
addLocaleEncoding, checkContext, clearAttributes, complete, doHandle, doScope, getAllowNullPathInfo, getAttribute, getAttributeNames, getAttributes, getBaseResource, getClassLoader, getClassPath, getConnectorNames, getContextPath, getCurrentContext, getDisplayName, getErrorHandler, getEventListeners, getHosts, getInitParameter, getInitParameterNames, getInitParams, getLocaleEncoding, getLogger, getMaxFormContentSize, getMimeTypes, getResourceBase, getResourcePaths, getServletContext, getVirtualHosts, getWelcomeFiles, handle, isAliases, isAvailable, isCompactPath, isShutdown, loadClass, newResource, newResource, removeAttribute, setAliases, setAllowNullPathInfo, setAttribute, setAttributes, setAvailable, setBaseResource, setCompactPath, setConnectorNames, setContextPath, setErrorHandler, setHosts, setInitParams, setLogger, setMaxFormContentSize, setMimeTypes, setResourceBase, setServer, setShutdown, setVirtualHosts, setWelcomeFiles
 
Methods inherited from class org.eclipse.jetty.server.handler.ScopedHandler
handle, nextHandle, nextScope
 
Methods inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
expandChildren, getHandler, getHandlers, setHandler
 
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
dump, expandHandler, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
 
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
destroy, dump, getServer
 
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.server.Handler
destroy, getServer, handle
 
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
 

Field Detail

TEMPDIR

public static final String TEMPDIR
See Also:
Constant Field Values

WEB_DEFAULTS_XML

public static final String WEB_DEFAULTS_XML
See Also:
Constant Field Values

ERROR_PAGE

public static final String ERROR_PAGE
See Also:
Constant Field Values
Constructor Detail

WebAppContext

public WebAppContext()

WebAppContext

public WebAppContext(String webApp,
                     String contextPath)
Parameters:
contextPath - The context path
webApp - The URL or filename of the webapp directory or war file.

WebAppContext

public WebAppContext(HandlerContainer parent,
                     String webApp,
                     String contextPath)
Parameters:
parent - The parent HandlerContainer.
contextPath - The context path
webApp - The URL or filename of the webapp directory or war file.

WebAppContext

public WebAppContext(SessionHandler sessionHandler,
                     SecurityHandler securityHandler,
                     ServletHandler servletHandler,
                     ErrorHandler errorHandler)
Method Detail

getCurrentWebAppContext

public static ContextHandler getCurrentWebAppContext()

setDisplayName

public void setDisplayName(String servletContextName)
Overrides:
setDisplayName in class ContextHandler
Parameters:
servletContextName - The servletContextName to set.

getUnavailableException

public Throwable getUnavailableException()
Get an exception that caused the webapp to be unavailable

Returns:
A throwable if the webapp is unavailable or null

setResourceAlias

public void setResourceAlias(String alias,
                             String uri)
Set Resource Alias. Resource aliases map resource uri's within a context. They may optionally be used by a handler when looking for a resource.

Parameters:
alias -
uri -

getResourceAliases

public Map getResourceAliases()

setResourceAliases

public void setResourceAliases(Map map)

getResourceAlias

public String getResourceAlias(String alias)

removeResourceAlias

public String removeResourceAlias(String alias)

setClassLoader

public void setClassLoader(ClassLoader classLoader)
Overrides:
setClassLoader in class ContextHandler
Parameters:
classLoader - The classLoader to set.

getResource

public Resource getResource(String uriInContext)
                     throws MalformedURLException
Overrides:
getResource in class ContextHandler
Throws:
MalformedURLException

isConfigurationDiscovered

public boolean isConfigurationDiscovered()
Is the context Automatically configured.

Returns:
true if configuration discovery.

setConfigurationDiscovered

public void setConfigurationDiscovered(boolean discovered)
Set the configuration discovery mode. If configuration discovery is set to true, then the JSR315 servlet 3.0 discovered configuration features are enabled. These are:

Parameters:
servlet3autoConfig - the servlet3autoConfig to set

doStart

protected void doStart()
                throws Exception
Overrides:
doStart in class ContextHandler
Throws:
Exception
See Also:
HandlerWrapper.doStart()

dumpUrl

public void dumpUrl()

doStop

protected void doStop()
               throws Exception
Overrides:
doStop in class ContextHandler
Throws:
Exception

getConfigurationClasses

public String[] getConfigurationClasses()
Returns:
Returns the configurations.

getConfigurations

public Configuration[] getConfigurations()
Returns:
Returns the configurations.

getDefaultsDescriptor

public String getDefaultsDescriptor()
The default descriptor is a web.xml format file that is applied to the context before the standard WEB-INF/web.xml

Returns:
Returns the defaultsDescriptor.

getOverrideDescriptor

public String getOverrideDescriptor()
The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xml

Returns:
Returns the Override Descriptor.

getPermissions

public PermissionCollection getPermissions()
Returns:
Returns the permissions.

getServerClasses

public String[] getServerClasses()
Returns:
Returns the serverClasses.
See Also:
setServerClasses(String[])

getSystemClasses

public String[] getSystemClasses()
Returns:
Returns the systemClasses.
See Also:
setSystemClasses(String[])

isServerClass

public boolean isServerClass(String name)

isSystemClass

public boolean isSystemClass(String name)

getWar

public String getWar()
Returns:
Returns the war as a file or URL string (Resource)

getWebInf

public Resource getWebInf()
                   throws IOException
Throws:
IOException

isDistributable

public boolean isDistributable()
Returns:
Returns the distributable.

isExtractWAR

public boolean isExtractWAR()
Returns:
Returns the extractWAR.

isCopyWebDir

public boolean isCopyWebDir()
Returns:
True if the webdir is copied (to allow hot replacement of jars)

isParentLoaderPriority

public boolean isParentLoaderPriority()
Returns:
Returns the java2compliant.

loadConfigurations

protected void loadConfigurations()
                           throws Exception
Throws:
Exception

isProtectedTarget

protected boolean isProtectedTarget(String target)
Description copied from class: ContextHandler
Check the target. Called by ScopedHandler.handle(String, Request, HttpServletRequest, HttpServletResponse) when a target within a context is determined. If the target is protected, 404 is returned. The default implementation always returns false.

Overrides:
isProtectedTarget in class ContextHandler
See Also:
isProtectedTarget(String)

toString

public String toString()
Overrides:
toString in class ContextHandler

setConfigurationClasses

public void setConfigurationClasses(String[] configurations)
Parameters:
configurations - The configuration class names. If setConfigurations is not called these classes are used to create a configurations array.

setConfigurations

public void setConfigurations(Configuration[] configurations)
Parameters:
configurations - The configurations to set.

setDefaultsDescriptor

public void setDefaultsDescriptor(String defaultsDescriptor)
The default descriptor is a web.xml format file that is applied to the context before the standard WEB-INF/web.xml

Parameters:
defaultsDescriptor - The defaultsDescriptor to set.

setOverrideDescriptor

public void setOverrideDescriptor(String overrideDescriptor)
The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xml

Parameters:
overrideDescriptor - The overrideDescritpor to set.

getDescriptor

public String getDescriptor()
Returns:
the web.xml descriptor to use. If set to null, WEB-INF/web.xml is used if it exists.

setDescriptor

public void setDescriptor(String descriptor)
Parameters:
descriptor - the web.xml descriptor to use. If set to null, WEB-INF/web.xml is used if it exists.

setDistributable

public void setDistributable(boolean distributable)
Parameters:
distributable - The distributable to set.

setEventListeners

public void setEventListeners(EventListener[] eventListeners)
Description copied from class: ContextHandler
Set the context event listeners.

Overrides:
setEventListeners in class ContextHandler
See Also:
ServletContextListener, ServletContextAttributeListener, ServletRequestListener, ServletRequestAttributeListener

addEventListener

public void addEventListener(EventListener listener)
Add EventListener Conveniance method that calls setEventListeners(EventListener[])

Overrides:
addEventListener in class ContextHandler
Parameters:
listener -
See Also:
ServletContextListener, ServletContextAttributeListener, ServletRequestListener, ServletRequestAttributeListener

setExtractWAR

public void setExtractWAR(boolean extractWAR)
Parameters:
extractWAR - True if war files are extracted

setCopyWebDir

public void setCopyWebDir(boolean copy)
Parameters:
copy - True if the webdir is copied (to allow hot replacement of jars)

setParentLoaderPriority

public void setParentLoaderPriority(boolean java2compliant)
Parameters:
java2compliant - The java2compliant to set.

setPermissions

public void setPermissions(PermissionCollection permissions)
Parameters:
permissions - The permissions to set.

setServerClasses

public void setServerClasses(String[] serverClasses)
Set the server classes patterns.

Server classes/packages are classes used to implement the server and are hidden from the context. If the context needs to load these classes, it must have its own copy of them in WEB-INF/lib or WEB-INF/classes. A class pattern is a string of one of the forms:

org.package.Classname
Match a specific class
org.package.
Match a specific package hierarchy
-org.package.Classname
Exclude a specific class
-org.package.
Exclude a specific package hierarchy

Parameters:
serverClasses - The serverClasses to set.

setSystemClasses

public void setSystemClasses(String[] systemClasses)
Set the system classes patterns.

System classes/packages are classes provided by the JVM and that cannot be replaced by classes of the same name from WEB-INF, regardless of the value of setParentLoaderPriority(boolean). A class pattern is a string of one of the forms:

org.package.Classname
Match a specific class
org.package.
Match a specific package hierarchy
-org.package.Classname
Exclude a specific class
-org.package.
Exclude a specific package hierarchy

Parameters:
systemClasses - The systemClasses to set.

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.

getTempDirectory

public File getTempDirectory()

setWar

public void setWar(String war)
Parameters:
war - The war to set as a file name or URL

getExtraClasspath

public String getExtraClasspath()
Returns:
Comma or semicolon separated path of filenames or URLs pointing to directories or jar files. Directories should end with '/'.

setExtraClasspath

public void setExtraClasspath(String extraClasspath)
Parameters:
extraClasspath - Comma or semicolon separated path of filenames or URLs pointing to directories or jar files. Directories should end with '/'.

isLogUrlOnStart

public boolean isLogUrlOnStart()

setLogUrlOnStart

public void setLogUrlOnStart(boolean logOnStart)
Sets whether or not the web app name and URL is logged on startup

Parameters:
logOnStart - whether or not the log message is created

startContext

protected void startContext()
                     throws Exception
Description copied from class: ServletContextHandler
Finish constructing handlers and link them together.

Overrides:
startContext in class ServletContextHandler
Throws:
Exception
See Also:
ContextHandler.startContext()


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