Class WebAppContext
- java.lang.Object
-
- All Implemented Interfaces:
Handler
,HandlerContainer
,Attributes
,ClassVisibilityChecker
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,Graceful
,LifeCycle
,WebAppClassLoader.Context
- Direct Known Subclasses:
AntWebAppContext
,JettyWebAppContext
,QuickStartWebApp
@ManagedObject("Web Application ContextHandler") public class WebAppContext extends ServletContextHandler implements WebAppClassLoader.Context
Web Application Context Handler.The WebAppContext handler is an extension of ContextHandler that coordinates the construction and configuration of nested handlers:
ConstraintSecurityHandler
,SessionHandler
andServletHandler
. The handlers are configured by pluggable configuration classes, with the default beingWebXmlConfiguration
andJettyWebXmlConfiguration
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
WebAppContext.Context
-
Nested classes/interfaces inherited from class org.eclipse.jetty.servlet.ServletContextHandler
ServletContextHandler.Decorator, ServletContextHandler.Initializer, ServletContextHandler.JspConfig, ServletContextHandler.JspPropertyGroup, ServletContextHandler.ServletContainerInitializerCaller, ServletContextHandler.TagLib
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.ContextHandler
ContextHandler.AliasCheck, ContextHandler.ApproveAliases, ContextHandler.ApproveNonExistentDirectoryAliases, ContextHandler.Availability, ContextHandler.ContextScopeListener, ContextHandler.ContextStatus, ContextHandler.StaticContext
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
AbstractHandler.ErrorDispatchHandler
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Attributes
Attributes.Wrapper
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Graceful
Graceful.Shutdown
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]
__dftServerClasses
static java.lang.String[]
__dftSystemClasses
static java.lang.String
BASETEMPDIR
static java.lang.String[]
DEFAULT_CONFIGURATION_CLASSES
static java.lang.String
ERROR_PAGE
static java.lang.String
SERVER_SRV_CLASSES
static java.lang.String
SERVER_SYS_CLASSES
static java.lang.String
TEMPDIR
static java.lang.String
WEB_DEFAULTS_XML
-
Fields inherited from class org.eclipse.jetty.servlet.ServletContextHandler
_defaultSecurityHandlerClass, _gzipHandler, _jspConfig, _objFactory, _options, _securityHandler, _servletHandler, _sessionHandler, GZIP, NO_SECURITY, NO_SESSIONS, SECURITY, SESSIONS
-
Fields inherited from class org.eclipse.jetty.server.handler.ContextHandler
_contextStatus, _scontext, DEFAULT_LISTENER_TYPE_INDEX, DEFAULT_MAX_FORM_CONTENT_SIZE, DEFAULT_MAX_FORM_KEYS, EXTENDED_LISTENER_TYPE_INDEX, MANAGED_ATTRIBUTES, MAX_FORM_CONTENT_SIZE_KEY, MAX_FORM_KEYS_KEY, SERVLET_LISTENER_TYPES, SERVLET_MAJOR_VERSION, SERVLET_MINOR_VERSION
-
Fields inherited from class org.eclipse.jetty.server.handler.ScopedHandler
_nextScope, _outerScope
-
Fields inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
_handler
-
-
Constructor Summary
Constructors Constructor Description WebAppContext()
WebAppContext(java.lang.String webApp, java.lang.String contextPath)
WebAppContext(HandlerContainer parent, java.lang.String webApp, java.lang.String contextPath)
WebAppContext(HandlerContainer parent, java.lang.String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
This constructor is used in the geronimo integration.WebAppContext(HandlerContainer parent, Resource webApp, java.lang.String contextPath)
WebAppContext(SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
This constructor is used in the geronimo integration.WebAppContext(Resource webApp, java.lang.String contextPath)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addOverrideDescriptor(java.lang.String overrideDescriptor)
The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xmlvoid
addServerClass(java.lang.String classOrPackageOrLocation)
Deprecated.static void
addServerClasses(Server server, java.lang.String... pattern)
void
addSystemClass(java.lang.String classOrPackage)
Deprecated.static void
addSystemClasses(Server server, java.lang.String... pattern)
void
configure()
void
destroy()
Destroys the managed Destroyable beans in the reverse order they were added.protected void
doStart()
Starts the managed lifecycle beans in the order they were added.protected void
doStop()
Stops the managed lifecycle beans in the reverse order they were added.void
dump(java.lang.Appendable out, java.lang.String indent)
Dump this object (and children) into an Appendable using the provided indent after any new lines.java.lang.String[]
getConfigurationClasses()
Configuration[]
getConfigurations()
static WebAppContext
getCurrentWebAppContext()
static java.lang.String[]
getDefaultConfigurationClasses()
java.lang.String
getDefaultsDescriptor()
The default descriptor is a web.xml format file that is applied to the context before the standard WEB-INF/web.xmljava.lang.String[]
getDefaultServerClasses()
java.lang.String[]
getDefaultSystemClasses()
java.lang.String
getDescriptor()
java.lang.String
getExtraClasspath()
MetaData
getMetaData()
java.lang.String
getOverrideDescriptor()
The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xmljava.util.List<java.lang.String>
getOverrideDescriptors()
An override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xmljava.security.PermissionCollection
getPermissions()
Resource
getResource(java.lang.String uriInContext)
java.lang.String
getResourceAlias(java.lang.String path)
java.util.Map<java.lang.String,java.lang.String>
getResourceAliases()
java.lang.String[]
getServerClasses()
ClasspathPattern
getServerClasspathPattern()
java.lang.String[]
getSystemClasses()
ClasspathPattern
getSystemClasspathPattern()
java.io.File
getTempDirectory()
java.lang.Throwable
getUnavailableException()
Get an exception that caused the webapp to be unavailablejava.lang.String
getWar()
Resource
getWebInf()
boolean
isAllowDuplicateFragmentNames()
boolean
isConfigurationDiscovered()
Is the context Automatically configured.boolean
isCopyWebDir()
boolean
isCopyWebInf()
boolean
isDistributable()
boolean
isExtractWAR()
boolean
isLogUrlOnStart()
boolean
isParentLoaderPriority()
boolean
isPersistTempDirectory()
boolean
isServerClass(java.lang.Class<?> clazz)
Is the class a Server Class.boolean
isServerClass(java.lang.String name)
Deprecated.boolean
isServerResource(java.lang.String name, java.net.URL parentUrl)
boolean
isSystemClass(java.lang.Class<?> clazz)
Is the class a System Class.boolean
isSystemClass(java.lang.String name)
Deprecated.boolean
isSystemResource(java.lang.String name, java.net.URL webappUrl)
boolean
isThrowUnavailableOnStartupException()
protected void
loadConfigurations()
protected void
loadServerClasses()
protected void
loadSystemClasses()
void
postConfigure()
void
preConfigure()
Pre configure the web application.void
prependServerClass(java.lang.String classOrPackage)
Deprecated.void
prependSystemClass(java.lang.String classOrPackage)
Deprecated.void
removeEventListener(java.util.EventListener listener)
Remove a context event listeners.java.lang.String
removeResourceAlias(java.lang.String alias)
void
setAllowDuplicateFragmentNames(boolean allowDuplicateFragmentNames)
void
setClassLoader(java.lang.ClassLoader classLoader)
void
setConfigurationClasses(java.lang.String[] configurations)
void
setConfigurationClasses(java.util.List<java.lang.String> configurations)
void
setConfigurationDiscovered(boolean discovered)
Set the configuration discovery mode.void
setConfigurations(Configuration[] configurations)
void
setContextWhiteList(java.lang.String[] contextWhiteList)
Set the context white list In certain circumstances you want may want to deny access of one webapp from another when you may not fully trust the webapp.void
setCopyWebDir(boolean copy)
void
setCopyWebInf(boolean copyWebInf)
void
setDefaultsDescriptor(java.lang.String defaultsDescriptor)
The default descriptor is a web.xml format file that is applied to the context before the standard WEB-INF/web.xmlvoid
setDescriptor(java.lang.String descriptor)
void
setDisplayName(java.lang.String servletContextName)
void
setDistributable(boolean distributable)
void
setEventListeners(java.util.EventListener[] eventListeners)
Set the context event listeners.void
setExtraClasspath(java.lang.String extraClasspath)
void
setExtractWAR(boolean extractWAR)
void
setLogUrlOnStart(boolean logOnStart)
Sets whether or not the web app name and URL is logged on startupvoid
setOverrideDescriptor(java.lang.String overrideDescriptor)
The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xmlvoid
setOverrideDescriptors(java.util.List<java.lang.String> overrideDescriptors)
The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xmlvoid
setParentLoaderPriority(boolean java2compliant)
void
setPermissions(java.security.PermissionCollection permissions)
void
setPersistTempDirectory(boolean persist)
If true the temp directory for this webapp will be kept when the webapp stops.void
setResourceAlias(java.lang.String alias, java.lang.String uri)
Set Resource Alias.void
setResourceAliases(java.util.Map<java.lang.String,java.lang.String> map)
void
setServer(Server server)
void
setServerClasses(java.lang.String[] serverClasses)
Set the server classes patterns.java.util.Set<java.lang.String>
setServletSecurity(javax.servlet.ServletRegistration.Dynamic registration, javax.servlet.ServletSecurityElement servletSecurityElement)
Delegate for ServletRegistration.Dynamic.setServletSecurity methodvoid
setSystemClasses(java.lang.String[] systemClasses)
Set the system classes patterns.void
setTempDirectory(java.io.File dir)
Set temporary directory for context.void
setThrowUnavailableOnStartupException(boolean throwIfStartupException)
void
setWar(java.lang.String war)
Set the war of the webapp.void
setWarResource(Resource war)
Set the war of the webapp as aResource
.protected void
startContext()
Finish constructing handlers and link them together.protected void
startWebapp()
protected void
stopContext()
protected void
stopWebapp()
java.lang.String
toString()
-
Methods inherited from class org.eclipse.jetty.servlet.ServletContextHandler
addDecorator, addEventListener, addFilter, addFilter, addFilter, addRoles, addServlet, addServlet, addServlet, callContextDestroyed, callContextInitialized, dynamicHolderAdded, getDecorators, getDefaultSecurityHandlerClass, getGzipHandler, getObjectFactory, getSecurityHandler, getServletContextHandler, getServletHandler, getSessionHandler, insertHandler, newSecurityHandler, newServletHandler, newSessionHandler, setDecorators, setDefaultSecurityHandlerClass, setGzipHandler, setHandler, setSecurityHandler, setServletHandler, setSessionHandler
-
Methods inherited from class org.eclipse.jetty.server.handler.ContextHandler
addAliasCheck, addLocaleEncoding, addProgrammaticListener, addVirtualHosts, checkAlias, checkContext, checkContextPath, checkVirtualHost, clearAliasChecks, clearAttributes, contextDestroyed, contextInitialized, doHandle, doScope, enterScope, exitScope, getAliasChecks, getAllowNullPathInfo, getAttribute, getAttributeNames, getAttributeNameSet, getAttributes, getBaseResource, getClassLoader, getClassPath, getContextHandler, getContextPath, getContextPathEncoded, getCurrentContext, getDisplayName, getErrorHandler, getEventListeners, getInitParameter, getInitParameterNames, getInitParams, getLocaleEncoding, getLocaleEncoding, getLocaleEncodings, getLogger, getMaxFormContentSize, getMaxFormKeys, getMimeTypes, getProtectedTargets, getRequestContextPath, getResourceBase, getResourcePaths, getServerInfo, getServletContext, getVirtualHosts, getWelcomeFiles, handle, handle, isAvailable, isCompactPath, isDurableListener, isProgrammaticListener, isProtectedTarget, isShutdown, isUsingSecurityManager, loadClass, newResource, newResource, newResource, removeAttribute, removeVirtualHosts, requestDestroyed, requestInitialized, setAliasChecks, setAllowNullPathInfo, setAttribute, setAttributes, setAvailable, setBaseResource, setCompactPath, setContextPath, setErrorHandler, setInitParameter, setLogger, setManagedAttribute, setMaxFormContentSize, setMaxFormKeys, setMimeTypes, setProtectedTargets, setResourceBase, setServerInfo, setUsingSecurityManager, setVirtualHosts, setWelcomeFiles, shutdown
-
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
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
doShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
doError, getServer
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, 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.util.component.Dumpable.DumpableContainer
isDumpable
-
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
Methods inherited from interface org.eclipse.jetty.webapp.WebAppClassLoader.Context
newResource
-
-
-
-
Field Detail
-
TEMPDIR
public static final java.lang.String TEMPDIR
- See Also:
- Constant Field Values
-
BASETEMPDIR
public static final java.lang.String BASETEMPDIR
- See Also:
- Constant Field Values
-
WEB_DEFAULTS_XML
public static final java.lang.String WEB_DEFAULTS_XML
- See Also:
- Constant Field Values
-
ERROR_PAGE
public static final java.lang.String ERROR_PAGE
- See Also:
- Constant Field Values
-
SERVER_SYS_CLASSES
public static final java.lang.String SERVER_SYS_CLASSES
- See Also:
- Constant Field Values
-
SERVER_SRV_CLASSES
public static final java.lang.String SERVER_SRV_CLASSES
- See Also:
- Constant Field Values
-
DEFAULT_CONFIGURATION_CLASSES
public static final java.lang.String[] DEFAULT_CONFIGURATION_CLASSES
-
__dftSystemClasses
public static final java.lang.String[] __dftSystemClasses
-
__dftServerClasses
public static final java.lang.String[] __dftServerClasses
-
-
Constructor Detail
-
WebAppContext
public WebAppContext()
-
WebAppContext
public WebAppContext(java.lang.String webApp, java.lang.String contextPath)
- Parameters:
contextPath
- The context pathwebApp
- The URL or filename of the webapp directory or war file.
-
WebAppContext
public WebAppContext(Resource webApp, java.lang.String contextPath)
- Parameters:
contextPath
- The context pathwebApp
- The URL or filename of the webapp directory or war file.
-
WebAppContext
public WebAppContext(HandlerContainer parent, java.lang.String webApp, java.lang.String contextPath)
- Parameters:
parent
- The parent HandlerContainer.contextPath
- The context pathwebApp
- The URL or filename of the webapp directory or war file.
-
WebAppContext
public WebAppContext(HandlerContainer parent, Resource webApp, java.lang.String contextPath)
- Parameters:
parent
- The parent HandlerContainer.contextPath
- The context pathwebApp
- The webapp directory or war file.
-
WebAppContext
public WebAppContext(SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
This constructor is used in the geronimo integration.- Parameters:
sessionHandler
- SessionHandler for this web appsecurityHandler
- SecurityHandler for this web appservletHandler
- ServletHandler for this web apperrorHandler
- ErrorHandler for this web app
-
WebAppContext
public WebAppContext(HandlerContainer parent, java.lang.String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
This constructor is used in the geronimo integration.- Parameters:
parent
- the parent handlercontextPath
- the context pathsessionHandler
- SessionHandler for this web appsecurityHandler
- SecurityHandler for this web appservletHandler
- ServletHandler for this web apperrorHandler
- ErrorHandler for this web appoptions
- the options (ServletContextHandler.SESSIONS
and/orServletContextHandler.SECURITY
)
-
-
Method Detail
-
getCurrentWebAppContext
public static WebAppContext getCurrentWebAppContext()
-
setDisplayName
public void setDisplayName(java.lang.String servletContextName)
- Overrides:
setDisplayName
in classContextHandler
- Parameters:
servletContextName
- The servletContextName to set.
-
getUnavailableException
public java.lang.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(java.lang.String alias, java.lang.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
- the alias for a resourceuri
- the uri for the resource
-
getResourceAliases
public java.util.Map<java.lang.String,java.lang.String> getResourceAliases()
-
setResourceAliases
public void setResourceAliases(java.util.Map<java.lang.String,java.lang.String> map)
-
getResourceAlias
public java.lang.String getResourceAlias(java.lang.String path)
-
removeResourceAlias
public java.lang.String removeResourceAlias(java.lang.String alias)
-
setClassLoader
public void setClassLoader(java.lang.ClassLoader classLoader)
- Overrides:
setClassLoader
in classContextHandler
- Parameters:
classLoader
- The classLoader to set.
-
getResource
public Resource getResource(java.lang.String uriInContext) throws java.net.MalformedURLException
- Overrides:
getResource
in classContextHandler
- Throws:
java.net.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:- Web Fragments
- META-INF/resource directories
- Parameters:
discovered
- true if configuration discovery is enabled for automatic configuration from the context
-
preConfigure
public void preConfigure() throws java.lang.Exception
Pre configure the web application.The method is normally called from
AbstractLifeCycle.start()
. It performs the discovery of the configurations to be applied to this context, specifically:- Instantiate the
Configuration
instances with a call toloadConfigurations()
. - Setup the default System classes by calling
loadSystemClasses()
- Setup the default Server classes by calling
loadServerClasses()
- Instantiates a classload (if one is not already set)
- Calls the
Configuration.preConfigure(WebAppContext)
method of all Configuration instances.
- Throws:
java.lang.Exception
- if unable to pre configure
- Instantiate the
-
configure
public void configure() throws java.lang.Exception
- Throws:
java.lang.Exception
-
postConfigure
public void postConfigure() throws java.lang.Exception
- Throws:
java.lang.Exception
-
doStart
protected void doStart() throws java.lang.Exception
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classServletContextHandler
- Throws:
java.lang.Exception
- See Also:
AbstractHandler.doStart()
-
doStop
protected void doStop() throws java.lang.Exception
Description copied from class:ContainerLifeCycle
Stops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStop
in classServletContextHandler
- Throws:
java.lang.Exception
- See Also:
ContextHandler.doStop()
-
destroy
public void destroy()
Description copied from class:ContainerLifeCycle
Destroys the managed Destroyable beans in the reverse order they were added.- Specified by:
destroy
in interfaceDestroyable
- Specified by:
destroy
in interfaceHandler
- Overrides:
destroy
in classHandlerWrapper
-
getConfigurationClasses
@ManagedAttribute(value="configuration classes used to configure webapp", readonly=true) public java.lang.String[] getConfigurationClasses()
- Returns:
- Returns the configurations.
-
getConfigurations
public Configuration[] getConfigurations()
- Returns:
- Returns the configurations.
-
getDefaultsDescriptor
@ManagedAttribute(value="default web.xml deascriptor applied before standard web.xml", readonly=true) public java.lang.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 java.lang.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.
-
getOverrideDescriptors
@ManagedAttribute(value="web.xml deascriptors applied after standard web.xml", readonly=true) public java.util.List<java.lang.String> getOverrideDescriptors()
An 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 list
-
getPermissions
public java.security.PermissionCollection getPermissions()
- Specified by:
getPermissions
in interfaceWebAppClassLoader.Context
- Returns:
- Returns the permissions.
-
getServerClasses
@ManagedAttribute(value="classes and packages hidden by the context classloader", readonly=true) public java.lang.String[] getServerClasses()
- Returns:
- Returns the serverClasses.
- See Also:
setServerClasses(String[])
-
getServerClasspathPattern
public ClasspathPattern getServerClasspathPattern()
- Returns:
- The ClasspathPattern used to match Server (hidden) classes
-
addServerClass
@Deprecated public void addServerClass(java.lang.String classOrPackageOrLocation)
Deprecated.- Parameters:
classOrPackageOrLocation
- pattern (seeClasspathPattern
-
prependServerClass
@Deprecated public void prependServerClass(java.lang.String classOrPackage)
Deprecated.Prepend to the list of Server classes.- Parameters:
classOrPackage
- A pattern.- See Also:
setServerClasses(String[])
, Jetty Documentation: Classloading
-
getSystemClasses
@ManagedAttribute(value="classes and packages given priority by context classloader", readonly=true) public java.lang.String[] getSystemClasses()
- Returns:
- Returns the systemClasses.
- See Also:
setSystemClasses(String[])
-
getSystemClasspathPattern
public ClasspathPattern getSystemClasspathPattern()
- Returns:
- The ClasspathPattern used to match System (protected) classes
-
addSystemClass
@Deprecated public void addSystemClass(java.lang.String classOrPackage)
Deprecated.- Parameters:
classOrPackage
- pattern
-
prependSystemClass
@Deprecated public void prependSystemClass(java.lang.String classOrPackage)
Deprecated.Prepend to the list of System classes.- Parameters:
classOrPackage
- A pattern.- See Also:
setSystemClasses(String[])
, Jetty Documentation: Classloading
-
isServerClass
@Deprecated public boolean isServerClass(java.lang.String name)
Deprecated.- Parameters:
name
- class name- Returns:
- true if matched by
getServerClasspathPattern()
-
isSystemClass
@Deprecated public boolean isSystemClass(java.lang.String name)
Deprecated.- Parameters:
name
- class name- Returns:
- true if matched by
getServerClasspathPattern()
-
isServerClass
public boolean isServerClass(java.lang.Class<?> clazz)
Description copied from interface:ClassVisibilityChecker
Is the class a Server Class. A Server class is a class that is part of the implementation of the server and is NIT visible to a webapplication. The web application may provide it's own implementation of the class, to be loaded from WEB-INF/lib or WEB-INF/classes- Specified by:
isServerClass
in interfaceClassVisibilityChecker
- Parameters:
clazz
- The fully qualified name of the class.- Returns:
- True if the class is a server class.
-
isSystemClass
public boolean isSystemClass(java.lang.Class<?> clazz)
Description copied from interface:ClassVisibilityChecker
Is the class a System Class. A System class is a class that is visible to a webapplication, but that cannot be overridden by the contents of WEB-INF/lib or WEB-INF/classes- Specified by:
isSystemClass
in interfaceClassVisibilityChecker
- Parameters:
clazz
- The fully qualified name of the class.- Returns:
- True if the class is a system class.
-
isServerResource
public boolean isServerResource(java.lang.String name, java.net.URL parentUrl)
- Specified by:
isServerResource
in interfaceWebAppClassLoader.Context
-
isSystemResource
public boolean isSystemResource(java.lang.String name, java.net.URL webappUrl)
- Specified by:
isSystemResource
in interfaceWebAppClassLoader.Context
-
loadSystemClasses
protected void loadSystemClasses()
-
loadServerClasses
protected void loadServerClasses()
-
getWar
@ManagedAttribute(value="war file location", readonly=true) public java.lang.String getWar()
- Returns:
- Returns the war as a file or URL string (Resource).
The war may be different to the @link
ContextHandler.getResourceBase()
if the war has been expanded and/or copied.
-
getWebInf
public Resource getWebInf() throws java.io.IOException
- Throws:
java.io.IOException
-
isDistributable
@ManagedAttribute("web application distributable") public boolean isDistributable()
- Returns:
- Returns the distributable.
-
isExtractWAR
@ManagedAttribute(value="extract war", readonly=true) public boolean isExtractWAR()
- Returns:
- Returns the extractWAR.
-
isCopyWebDir
@ManagedAttribute(value="webdir copied on deploy (allows hot replacement on windows)", readonly=true) public boolean isCopyWebDir()
- Returns:
- True if the webdir is copied (to allow hot replacement of jars on windows)
-
isCopyWebInf
public boolean isCopyWebInf()
- Returns:
- True if the web-inf lib and classes directories are copied (to allow hot replacement of jars on windows)
-
isParentLoaderPriority
@ManagedAttribute(value="parent classloader given priority", readonly=true) public boolean isParentLoaderPriority()
- Specified by:
isParentLoaderPriority
in interfaceWebAppClassLoader.Context
- Returns:
- True if the classloader should delegate first to the parent classloader (standard java behaviour) or false if the classloader should first try to load from WEB-INF/lib or WEB-INF/classes (servlet spec recommendation). Default is false or can be set by the system property org.eclipse.jetty.server.webapp.parentLoaderPriority
-
getDefaultConfigurationClasses
public static java.lang.String[] getDefaultConfigurationClasses()
-
getDefaultServerClasses
public java.lang.String[] getDefaultServerClasses()
-
getDefaultSystemClasses
public java.lang.String[] getDefaultSystemClasses()
-
loadConfigurations
protected void loadConfigurations() throws java.lang.Exception
- Throws:
java.lang.Exception
-
toString
public java.lang.String toString()
- Overrides:
toString
in classContextHandler
-
dump
public void dump(java.lang.Appendable out, java.lang.String indent) throws java.io.IOException
Description copied from interface:Dumpable
Dump this object (and children) into an Appendable using the provided indent after any new lines. The indent should not be applied to the first object dumped.- Specified by:
dump
in interfaceDumpable
- Overrides:
dump
in classContextHandler
- Parameters:
out
- The appendable to dump toindent
- The indent to apply after any new lines.- Throws:
java.io.IOException
- if unable to write to Appendable
-
setConfigurationClasses
public void setConfigurationClasses(java.lang.String[] configurations)
- Parameters:
configurations
- The configuration class names. If setConfigurations is not called these classes are used to create a configurations array.
-
setConfigurationClasses
public void setConfigurationClasses(java.util.List<java.lang.String> configurations)
-
setConfigurations
public void setConfigurations(Configuration[] configurations)
- Parameters:
configurations
- The configurations to set.
-
setDefaultsDescriptor
public void setDefaultsDescriptor(java.lang.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(java.lang.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.
-
setOverrideDescriptors
public void setOverrideDescriptors(java.util.List<java.lang.String> overrideDescriptors)
The override descriptor is a web.xml format file that is applied to the context after the standard WEB-INF/web.xml- Parameters:
overrideDescriptors
- The overrideDescriptors (file or URL) to set.
-
addOverrideDescriptor
public void addOverrideDescriptor(java.lang.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 overrideDescriptor (file or URL) to add.
-
getDescriptor
@ManagedAttribute(value="standard web.xml descriptor", readonly=true) public java.lang.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(java.lang.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(java.util.EventListener[] eventListeners)
Description copied from class:ContextHandler
Set the context event listeners.- Overrides:
setEventListeners
in classContextHandler
- Parameters:
eventListeners
- the event listeners- See Also:
ServletContextListener
,ServletContextAttributeListener
,ServletRequestListener
,ServletRequestAttributeListener
-
removeEventListener
public void removeEventListener(java.util.EventListener listener)
Description copied from class:ContextHandler
Remove a context event listeners.- Overrides:
removeEventListener
in classContextHandler
- Parameters:
listener
- the event listener to remove- 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)
-
setCopyWebInf
public void setCopyWebInf(boolean copyWebInf)
- Parameters:
copyWebInf
- True if the web-inf lib and classes directories are copied (to allow hot replacement of jars on windows)
-
setParentLoaderPriority
public void setParentLoaderPriority(boolean java2compliant)
- Parameters:
java2compliant
- True if the classloader should delegate first to the parent classloader (standard java behaviour) or false if the classloader should first try to load from WEB-INF/lib or WEB-INF/classes (servlet spec recommendation). Default is false or can be set by the system property org.eclipse.jetty.server.webapp.parentLoaderPriority
-
setPermissions
public void setPermissions(java.security.PermissionCollection permissions)
- Parameters:
permissions
- The permissions to set.
-
setContextWhiteList
public void setContextWhiteList(java.lang.String[] contextWhiteList)
Set the context white list In certain circumstances you want may want to deny access of one webapp from another when you may not fully trust the webapp. Setting this white list will enable a check when a servlet calledContextHandler.Context.getContext(String)
, validating that the uriInPath for the given webapp has been declaratively allows access to the context.- Parameters:
contextWhiteList
- the whitelist of contexts forContextHandler.Context.getContext(String)
-
setServerClasses
public void setServerClasses(java.lang.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
ClasspathPattern
is used to match the server classes.- Parameters:
serverClasses
- The serverClasses to set.
-
setSystemClasses
public void setSystemClasses(java.lang.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)
. AClasspathPattern
is used to match the system classes.- Parameters:
systemClasses
- The systemClasses to set.
-
setTempDirectory
public void setTempDirectory(java.io.File dir)
Set temporary directory for context. The javax.servlet.context.tempdir attribute is also set.- Parameters:
dir
- Writable temporary directory.
-
getTempDirectory
@ManagedAttribute(value="temporary directory location", readonly=true) public java.io.File getTempDirectory()
-
setPersistTempDirectory
public void setPersistTempDirectory(boolean persist)
If true the temp directory for this webapp will be kept when the webapp stops. Otherwise, it will be deleted.- Parameters:
persist
- true to persist the temp directory on shutdown / exit of the webapp
-
isPersistTempDirectory
public boolean isPersistTempDirectory()
- Returns:
- true if tmp directory will persist between startups of the webapp
-
setWar
public void setWar(java.lang.String war)
Set the war of the webapp. From this value aContextHandler.setResourceBase(String)
value is computed byWebInfConfiguration
, which may be changed from the war URI by unpacking and/or copying.- Parameters:
war
- The war to set as a file name or URL.
-
setWarResource
public void setWarResource(Resource war)
Set the war of the webapp as aResource
.- Parameters:
war
- The war to set as a Resource.- See Also:
setWar(String)
-
getExtraClasspath
@ManagedAttribute(value="extra classpath for context classloader", readonly=true) public java.lang.String getExtraClasspath()
- Specified by:
getExtraClasspath
in interfaceWebAppClassLoader.Context
- Returns:
- Comma or semicolon separated path of filenames or URLs pointing to directories or jar files. Directories should end with '/'.
-
setExtraClasspath
public void setExtraClasspath(java.lang.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
-
setServer
public void setServer(Server server)
- Specified by:
setServer
in interfaceHandler
- Overrides:
setServer
in classContextHandler
-
isAllowDuplicateFragmentNames
public boolean isAllowDuplicateFragmentNames()
-
setAllowDuplicateFragmentNames
public void setAllowDuplicateFragmentNames(boolean allowDuplicateFragmentNames)
-
setThrowUnavailableOnStartupException
public void setThrowUnavailableOnStartupException(boolean throwIfStartupException)
-
isThrowUnavailableOnStartupException
public boolean isThrowUnavailableOnStartupException()
-
startContext
protected void startContext() throws java.lang.Exception
Description copied from class:ServletContextHandler
Finish constructing handlers and link them together.- Overrides:
startContext
in classServletContextHandler
- Throws:
java.lang.Exception
- if unable to start the context- See Also:
ContextHandler.startContext()
-
stopContext
protected void stopContext() throws java.lang.Exception
- Overrides:
stopContext
in classServletContextHandler
- Throws:
java.lang.Exception
-
startWebapp
protected void startWebapp() throws java.lang.Exception
- Throws:
java.lang.Exception
-
stopWebapp
protected void stopWebapp() throws java.lang.Exception
- Throws:
java.lang.Exception
-
setServletSecurity
public java.util.Set<java.lang.String> setServletSecurity(javax.servlet.ServletRegistration.Dynamic registration, javax.servlet.ServletSecurityElement servletSecurityElement)
Description copied from class:ServletContextHandler
Delegate for ServletRegistration.Dynamic.setServletSecurity method- Overrides:
setServletSecurity
in classServletContextHandler
- Parameters:
registration
- ServletRegistration.Dynamic instance that setServletSecurity was called onservletSecurityElement
- new security info- Returns:
- the set of exact URL mappings currently associated with the registration that are also present in the web.xml security constraints and thus will be unaffected by this call.
-
getMetaData
public MetaData getMetaData()
-
addServerClasses
public static void addServerClasses(Server server, java.lang.String... pattern)
-
addSystemClasses
public static void addSystemClasses(Server server, java.lang.String... pattern)
-
-