Class StandardContext
- All Implemented Interfaces:
MBeanRegistration
,NotificationBroadcaster
,NotificationEmitter
,Container
,Context
,JmxEnabled
,Lifecycle
,ContextBind
- Direct Known Subclasses:
ReplicatedContext
- Author:
- Craig R. McClanahan, Remy Maucherat
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.catalina.core.ContainerBase
ContainerBase.ContainerBackgroundProcessor, ContainerBase.ContainerBackgroundProcessorMonitor, ContainerBase.PrivilegedAddChild
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
Allow multipart/form-data requests to be parsed even when the target servlet doesn't specify @MultipartConfig or have a <multipart-config> element.protected ApplicationContext
The ServletContext implementation associated with this Context.protected static final ThreadBindingListener
protected Manager
The Manager implementation with which this Container is associated.protected ThreadBindingListener
Fields inherited from class org.apache.catalina.core.ContainerBase
accessLog, backgroundProcessorDelay, backgroundProcessorFuture, children, cluster, listeners, logger, logName, monitorFuture, name, parent, parentClassLoader, pipeline, sm, startChildren, startStopExecutor, support
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserver
Fields inherited from interface org.apache.catalina.Container
ADD_CHILD_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_VALVE_EVENT
Fields inherited from interface org.apache.catalina.Context
ADD_WELCOME_FILE_EVENT, CHANGE_SESSION_ID_EVENT, CLEAR_WELCOME_FILES_EVENT, REMOVE_WELCOME_FILE_EVENT, WEBAPP_PROTOCOL
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
-
Constructor Summary
ConstructorDescriptionCreate a new StandardContext component with the default basic Valve. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addApplicationEventListener
(Object listener) Add a listener to the end of the list of initialized application event listeners.void
addApplicationLifecycleListener
(Object listener) Add a listener to the end of the list of initialized application lifecycle listeners.void
addApplicationListener
(String listener) Add a new Listener class name to the set of Listeners configured for this application.void
addApplicationParameter
(ApplicationParameter parameter) Add a new application parameter for this application.void
Add a new child Container to those associated with this Container, if supported.void
addConstraint
(SecurityConstraint constraint) Add a security constraint to the set for this web application.void
addErrorPage
(ErrorPage errorPage) Add an error page for the specified error or Java exception.void
addFilterDef
(FilterDef filterDef) Add a filter definition to this Context.void
addFilterMap
(FilterMap filterMap) Add a filter mapping to this Context.void
addFilterMapBefore
(FilterMap filterMap) Add a filter mapping to this Context before the mappings defined in the deployment descriptor but after any other mappings added via this method.void
addLocaleEncodingMappingParameter
(String locale, String encoding) Add a Locale Encoding Mapping (see Sec 5.4 of Servlet spec 2.4)void
Add a message destination for this web application.void
Deprecated.This will be removed in Tomcat 10.void
addMimeMapping
(String extension, String mimeType) Add a new MIME mapping, replacing any existing mapping for the specified extension.void
addNotificationListener
(NotificationListener listener, NotificationFilter filter, Object object) void
addParameter
(String name, String value) Add a new context initialization parameter, replacing any existing value for the specified name.void
addPostConstructMethod
(String clazz, String method) Add a post construct method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.void
addPreDestroyMethod
(String clazz, String method) Add a pre destroy method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.void
addRoleMapping
(String role, String link) Add a security role reference for this web application.void
addSecurityRole
(String role) Add a new security role for this web application.void
addServletContainerInitializer
(ServletContainerInitializer sci, Set<Class<?>> classes) Add a ServletContainerInitializer instance to this web application.void
addServletMappingDecoded
(String pattern, String name, boolean jspWildCard) Add a new servlet mapping, replacing any existing mapping for the specified pattern.addServletSecurity
(ServletRegistration.Dynamic registration, ServletSecurityElement servletSecurityElement) Notification that Servlet security has been dynamically set in aServletRegistration.Dynamic
void
addWatchedResource
(String name) Add a resource which will be watched for reloading by the host auto deployer.void
addWelcomeFile
(String name) Add a new welcome file to the set recognized by this Context.void
addWrapperLifecycle
(String listener) Add the classname of a LifecycleListener to be added to each Wrapper appended to this Context.void
addWrapperListener
(String listener) Add the classname of a ContainerListener to be added to each Wrapper appended to this Context.protected String
adjustURLPattern
(String urlPattern) Adjust the URL pattern to begin with a leading slash, if appropriate (i.e. we are running a servlet 2.2 application).void
Execute a periodic task, such as reloading, etc.bind
(boolean usePrivilegedAction, ClassLoader originalClassLoader) Change the current thread context class loader to the web application class loader.protected ClassLoader
Bind current thread, both for CL purposes and for JNDI ENC support during : startup, shutdown and reloading of the context.Factory method to create and return a new InstanceManager instance.Factory method to create and return a new Wrapper instance, of the Java implementation class appropriate for this Context implementation.void
protected void
Destroy needs to clean up the context completely.void
dynamicServletCreated
(Servlet servlet) Hook to track which Servlets were created viaServletContext.createServlet(Class)
.boolean
Configure and initialize the set of filters for this Context.boolean
Finalize and release the set of filters for this Context.String[]
findErrorPage
(int errorCode) findErrorPage
(String exceptionType) Deprecated.findErrorPage
(Throwable exceptionType) Find and return the ErrorPage instance for the specified exception's class, or an ErrorPage instance for the closest superclass for which there is such a definition.findFilterConfig
(String name) Find and return the initializedFilterConfig
for the specified filter name, if any; otherwise returnnull
.findFilterDef
(String filterName) findMessageDestination
(String name) Deprecated.This will be removed in Tomcat 10.Deprecated.This will be removed in Tomcat 10.findMimeMapping
(String extension) String[]
findParameter
(String name) String[]
findPostConstructMethod
(String clazz) Returns the method name that is specified as post construct method for the given class, if it exists; otherwiseNULL
will be returned.Returns a map with keys - fully qualified class names of the classes that have post construct methods and the values are the corresponding method names.findPreDestroyMethod
(String clazz) Returns the method name that is specified as pre destroy method for the given class, if it exists; otherwiseNULL
will be returned.Returns a map with keys - fully qualified class names of the classes that have pre destroy methods and the values are the corresponding method names.findRoleMapping
(String role) For the given security role (as used by an application), return the corresponding role name (as defined by the underlying Realm) if there is one.boolean
findSecurityRole
(String role) String[]
findServletMapping
(String pattern) String[]
findStatusPage
(int status) Deprecated.int[]
Deprecated.String[]
boolean
findWelcomeFile
(String name) String[]
String[]
String[]
boolean
fireRequestDestroyEvent
(ServletRequest request) Notify allServletRequestListener
s that a request has ended.boolean
fireRequestInitEvent
(ServletRequest request) Notify allServletRequestListener
s that a request has started.boolean
boolean
Returnstrue
if requests mapped to servlets without "multipart config" to parse multipart/form-data requests anyway.boolean
When returning a context path fromHttpServletRequest.getContextPath()
, is it allowed to contain multiple leading '/' characters?Return the alternate Deployment Descriptor name.boolean
Object[]
Obtain the registered application event listeners.Object[]
Obtain the registered application lifecycle listeners.getCharset
(Locale locale) Obtain the character set name to use with the given Locale.boolean
boolean
boolean
boolean
boolean
boolean
protected boolean
Return the URL of the XML descriptor for this context.boolean
Return the "correctly configured" flag for this Context.Obtains the regular expression that specifies which container provided SCIs should be filtered out and not used for this context.boolean
Return the "use cookies for session ids" flag.boolean
Flag which indicates if bundled context.xml files should be copied to the config folder.boolean
Will Tomcat attempt to create an upload target used by this web application if it does not exist when the web application attempts to use it?boolean
Return the "allow crossing servlet contexts" flag.boolean
Return the "follow standard delegation model" flag used to configure our ClassLoader.boolean
Return the deny-uncovered-http-methods flag for this web application.boolean
Are paths used in calls to obtain a request dispatcher expected to be encoded?Return the display name of this web application.boolean
Get the distributable flag for this web application.Obtain the document root for this Context.int
int
Return the URL encoded context pathint
Gets the cumulative error count of all servlets in this StandardContext.boolean
boolean
Determine if annotations parsing is currently disabledlong
Get the Jar Scanner to be used to scan for JAR resources for this context.String[]
Deprecated.Unused.boolean
boolean
Should the effective web.xml for this context be logged on context start?boolean
Determines if requests for a web application context root will be redirected (adding a trailing slash) by the Mapper.boolean
Determines if requests for a directory will be redirected (adding a trailing slash) by the Mapper.long
Gets the maximum processing time of all servlets in this StandardContext.long
Gets the minimum processing time of all servlets in this StandardContext.Naming context listener accessor.int
protected String
Allow sub-classes to specify the key properties component of theObjectName
that will be used to register this component.boolean
boolean
Get the parent class loader.getPath()
boolean
Is this Context paused whilst it is reloaded?boolean
boolean
long
Gets the cumulative processing times of all servlets in this StandardContext.getRealPath
(String path) boolean
boolean
Get the default request body encoding for this web application.int
Gets the cumulative request count of all servlets in this StandardContext.Obtains the list of Servlets that expect a resource to be present.Get the default response body encoding for this web application.boolean
Gets the domain to use for session cookies.Gets the name to use for session cookies.Gets the path to use for session cookies.boolean
Is a / added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.int
boolean
long
Gets the time this context was started.long
Gets the time (in milliseconds) it took to start this context.boolean
Returnstrue
if remaining request data will be read (swallowed) even the request violates a data size constraint.boolean
long
boolean
Will the parsing of *.tld files for this Context be performed by a validating parser?long
boolean
boolean
Deprecated.boolean
Gets the value of the use HttpOnly cookies for session cookies flag.boolean
Will HTTP 1.1 and later location headers generated by a call toHttpServletResponse.sendRedirect(String)
use relative or absolute redirects.boolean
Will client provided session IDs be validated (seeContext.setValidateClientProvidedNewSessionId(boolean)
) before use?String[]
Get the absolute path to the work dir.boolean
Will the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context block the use of external entities?boolean
Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a namespace aware parser?boolean
Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a validating parser?void
protected void
Sub-classes implement this method to perform any instance initialisation required.boolean
isResourceOnlyServlet
(String servletName) Checks the named Servlet to see if it expects a resource to be present.boolean
Is this context using version 2.2 of the Servlet spec?boolean
boolean
Configure the set of instantiated application event listeners for this Context.boolean
Send an application stop event to all interested listeners.boolean
loadOnStartup
(Container[] children) Load and initialize all servlets marked "load on startup" in the web application deployment descriptor.protected void
Set the appropriate context attribute for our work directory.void
reload()
Reload this web application, if reloading is supported.void
removeApplicationListener
(String listener) Remove the specified application listener class from the set of listeners for this application.void
Remove the application parameter with the specified name from the set for this application.void
removeChild
(Container child) Remove an existing child Container from association with this parent Container.void
removeConstraint
(SecurityConstraint constraint) Remove the specified security constraint from this web application.void
removeErrorPage
(ErrorPage errorPage) Remove the error page for the specified error code or Java language exception, if it exists; otherwise, no action is taken.void
removeFilterDef
(FilterDef filterDef) Remove the specified filter definition from this Context, if it exists; otherwise, no action is taken.void
removeFilterMap
(FilterMap filterMap) Remove a filter mapping from this Context.void
Remove any message destination with the specified name.void
Deprecated.This will be removed in Tomcat 10.void
removeMimeMapping
(String extension) Remove the MIME mapping for the specified extension, if it exists; otherwise, no action is taken.void
void
removeNotificationListener
(NotificationListener listener, NotificationFilter filter, Object object) void
removeParameter
(String name) Remove the context initialization parameter with the specified name, if it exists; otherwise, no action is taken.void
removePostConstructMethod
(String clazz) Removes the post construct method definition for the given class, if it exists; otherwise, no action is taken.void
removePreDestroyMethod
(String clazz) Removes the pre destroy method definition for the given class, if it exists; otherwise, no action is taken.void
removeRoleMapping
(String role) Remove any security role reference for the specified namevoid
removeSecurityRole
(String role) Remove any security role with the specified name.void
removeServletMapping
(String pattern) Remove any servlet mapping for the specified pattern, if it exists; otherwise, no action is taken.void
removeWatchedResource
(String name) Remove the specified watched resource name from the list associated with this Context.void
removeWelcomeFile
(String name) Remove the specified welcome file name from the list recognized by this Context.void
removeWrapperLifecycle
(String listener) Remove a class name from the set of LifecycleListener classes that will be added to newly created Wrappers.void
removeWrapperListener
(String listener) Remove a class name from the set of ContainerListener classes that will be added to newly created Wrappers.void
Allocate resources, including proxy.boolean
Deallocate resources and destroy proxy.void
setAddWebinfClassesResources
(boolean addWebinfClassesResources) Sets the flag that indicates if /WEB-INF/classes should be treated like an exploded JAR and JAR resources made available as if they were in a JAR.void
setAllowCasualMultipartParsing
(boolean allowCasualMultipartParsing) Set totrue
to allow requests mapped to servlets that do not explicitly declare @MultipartConfig or have <multipart-config> specified in web.xml to parse multipart/form-data requests.void
setAllowMultipleLeadingForwardSlashInPath
(boolean allowMultipleLeadingForwardSlashInPath) Configure if, when returning a context path fromHttpServletRequest.getContextPath()
, the return value is allowed to contain multiple leading '/' characters.void
setAltDDName
(String altDDName) Set an alternate Deployment Descriptor name.void
setAntiResourceLocking
(boolean antiResourceLocking) Set the antiResourceLocking feature for this Context.void
setApplicationEventListeners
(Object[] listeners) Store the set of initialized application event listener objects, in the order they were specified in the web application deployment descriptor, for this application.void
setApplicationLifecycleListeners
(Object[] listeners) Store the set of initialized application lifecycle listener objects, in the order they were specified in the web application deployment descriptor, for this application.void
setCharsetMapper
(CharsetMapper mapper) Set the Locale to character set mapper for this Context.void
setCharsetMapperClass
(String mapper) Set the Locale to character set mapper class for this Context.void
setClearReferencesHttpClientKeepAliveThread
(boolean clearReferencesHttpClientKeepAliveThread) Set the clearReferencesHttpClientKeepAliveThread feature for this Context.void
setClearReferencesObjectStreamClassCaches
(boolean clearReferencesObjectStreamClassCaches) void
setClearReferencesRmiTargets
(boolean clearReferencesRmiTargets) void
setClearReferencesStopThreads
(boolean clearReferencesStopThreads) Set the clearReferencesStopThreads feature for this Context.void
setClearReferencesStopTimerThreads
(boolean clearReferencesStopTimerThreads) Set the clearReferencesStopTimerThreads feature for this Context.void
setClearReferencesThreadLocals
(boolean clearReferencesThreadLocals) void
setConfigFile
(URL configFile) Set the URL of the XML descriptor for this context.void
setConfigured
(boolean configured) Set the "correctly configured" flag for this Context.void
setContainerSciFilter
(String containerSciFilter) Sets the regular expression that specifies which container provided SCIs should be filtered out and not used for this context.void
setCookieProcessor
(CookieProcessor cookieProcessor) Sets theCookieProcessor
that will be used to process cookies for this Context.void
setCookies
(boolean cookies) Set the "use cookies for session ids" flag.void
setCopyXML
(boolean copyXML) Allows copying a bundled context.xml file to the host configuration base folder on deployment.void
setCreateUploadTargets
(boolean createUploadTargets) Configure whether Tomcat will attempt to create an upload target used by this web application if it does not exist when the web application attempts to use it.void
setCrossContext
(boolean crossContext) Set the "allow crossing servlet contexts" flag.void
setDefaultContextXml
(String defaultContextXml) Set the location of the default context xml that will be used.void
setDefaultWebXml
(String defaultWebXml) Set the location of the default web xml that will be used.void
setDelegate
(boolean delegate) Set the "follow standard delegation model" flag used to configure our ClassLoader.void
setDenyUncoveredHttpMethods
(boolean denyUncoveredHttpMethods) Set the deny-uncovered-http-methods flag for this web application.void
setDispatchersUseEncodedPaths
(boolean dispatchersUseEncodedPaths) Are paths used in calls to obtain a request dispatcher expected to be encoded?void
setDisplayName
(String displayName) Set the display name of this web application.void
setDistributable
(boolean distributable) Set the distributable flag for this web application.void
setDocBase
(String docBase) Set the document root for this Context.void
setEffectiveMajorVersion
(int effectiveMajorVersion) Set the effective major version of the Servlet spec used by this context.void
setEffectiveMinorVersion
(int effectiveMinorVersion) Set the effective minor version of the Servlet spec used by this context.void
setFailCtxIfServletStartFails
(Boolean failCtxIfServletStartFails) void
setFireRequestListenersOnForwards
(boolean enable) Configure whether or not requests listeners will be fired on forwards for this Context.void
setIgnoreAnnotations
(boolean ignoreAnnotations) Set the boolean on the annotations parsing for this web application.void
setInstanceManager
(InstanceManager instanceManager) Set the instance manager associated with this context.void
setJ2EEApplication
(String j2EEApplication) void
setJ2EEServer
(String j2EEServer) void
setJarScanner
(JarScanner jarScanner) Set the Jar Scanner to be used to scan for JAR resources for this context.String[]
setJavaVMs
(String[] javaVMs) Deprecated.Unused.void
setJndiExceptionOnFailedWrite
(boolean jndiExceptionOnFailedWrite) Controls whether or not an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.void
setJspConfigDescriptor
(JspConfigDescriptor descriptor) Set the JspConfigDescriptor for this context.void
Set the Loader with which this Context is associated.void
setLogEffectiveWebXml
(boolean logEffectiveWebXml) Set whether or not the effective web.xml for this context should be logged on context start.void
setLoginConfig
(LoginConfig config) Set the login configuration descriptor for this web application.void
setManager
(Manager manager) Set the Manager with which this Context is associated.void
setMapperContextRootRedirectEnabled
(boolean mapperContextRootRedirectEnabled) If enabled, requests for a web application context root will be redirected (adding a trailing slash) by the Mapper.void
setMapperDirectoryRedirectEnabled
(boolean mapperDirectoryRedirectEnabled) If enabled, requests for a directory will be redirected (adding a trailing slash) by the Mapper.void
setNamingContextListener
(NamingContextListener namingContextListener) Naming context listener setter.void
setNamingResources
(NamingResourcesImpl namingResources) Set the naming resources for this web application.void
setNotFoundClassResourceCacheSize
(int notFoundClassResourceCacheSize) void
setOriginalDocBase
(String docBase) Set the original document root for this Context.void
setOverride
(boolean override) Set the override flag for this web application.void
setParallelAnnotationScanning
(boolean parallelAnnotationScanning) Set the parallel annotation scanning value.void
Set the context path for this web application.void
setPreemptiveAuthentication
(boolean preemptiveAuthentication) Configures if a user presents authentication credentials, whether the context will process them when the request is for a non-protected resource.void
setPrivileged
(boolean privileged) Set the privileged flag for this web application.void
setPublicId
(String publicId) Set the public identifier of the deployment descriptor DTD that is currently being parsed.void
setReloadable
(boolean reloadable) Set the reloadable flag for this web application.void
setRenewThreadsWhenStoppingContext
(boolean renewThreadsWhenStoppingContext) void
setReplaceWelcomeFiles
(boolean replaceWelcomeFiles) Set the "replace welcome files" property.void
setRequestCharacterEncoding
(String requestEncoding) Set the default request body encoding for this web application.void
setResourceOnlyServlets
(String resourceOnlyServlets) Sets the (comma separated) list of Servlets that expect a resource to be present.void
setResources
(WebResourceRoot resources) Set the Resources object with which this Context is associated.void
setResponseCharacterEncoding
(String responseEncoding) Set the default response body encoding for this web application.void
setSendRedirectBody
(boolean sendRedirectBody) Configures if a response body is included when a redirect response is sent to the client.void
setSessionCookieDomain
(String sessionCookieDomain) Sets the domain to use for session cookies.void
setSessionCookieName
(String sessionCookieName) Sets the name to use for session cookies.void
setSessionCookiePath
(String sessionCookiePath) Sets the path to use for session cookies.void
setSessionCookiePathUsesTrailingSlash
(boolean sessionCookiePathUsesTrailingSlash) Configures if a / is added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.void
setSessionTimeout
(int timeout) Set the default session timeout (in minutes) for this web application.void
setSkipMemoryLeakChecksOnJvmShutdown
(boolean skipMemoryLeakChecksOnJvmShutdown) void
setStartupTime
(long startupTime) void
setSwallowAbortedUploads
(boolean swallowAbortedUploads) Set tofalse
to disable request data swallowing after an upload was aborted due to size constraints.void
setSwallowOutput
(boolean swallowOutput) Set the value of the swallowOutput flag.void
setThreadBindingListener
(ThreadBindingListener threadBindingListener) Get the associated ThreadBindingListener.void
setTldScanTime
(long tldScanTime) void
setTldValidation
(boolean tldValidation) Controls whether the parsing of *.tld files for this Context will be performed by a validating parser.void
setUnloadDelay
(long unloadDelay) Set the value of the unloadDelay flag, which represents the amount of ms that the container will wait when unloading servlets.void
setUnpackWAR
(boolean unpackWAR) Unpack WAR flag mutator.void
setUseBloomFilterForArchives
(boolean useBloomFilterForArchives) Deprecated.void
setUseHttpOnly
(boolean useHttpOnly) Sets the use HttpOnly cookies for session cookies flag.void
setUseNaming
(boolean useNaming) Enables or disables naming.void
setUseRelativeRedirects
(boolean useRelativeRedirects) Controls whether HTTP 1.1 and later location headers generated by a call toHttpServletResponse.sendRedirect(String)
will use relative or absolute redirects.void
setValidateClientProvidedNewSessionId
(boolean validateClientProvidedNewSessionId) When a client provides the ID for a new session, should that ID be validated?void
setWebappVersion
(String webappVersion) Set the version of this web application - used to differentiate different versions of the same web application when using parallel deployment.void
setWorkDir
(String workDir) Set the work directory for this Context.void
setWrapperClass
(String wrapperClassName) Set the Java class name of the Wrapper implementation used for servlets registered in this Context.void
setXmlBlockExternal
(boolean xmlBlockExternal) Controls whether the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context will block the use of external entities.void
setXmlNamespaceAware
(boolean webXmlNamespaceAware) Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a namespace aware parser.void
setXmlValidation
(boolean webXmlValidation) Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a validating parser.protected void
Start this component and implement the requirements ofLifecycleBase.startInternal()
.protected void
Stop this component and implement the requirements ofLifecycleBase.stopInternal()
.void
unbind
(boolean usePrivilegedAction, ClassLoader originalClassLoader) Restore the current thread context class loader to the original class loader in used beforeContextBind.bind(boolean, ClassLoader)
was called.protected void
unbindThread
(ClassLoader oldContextClassLoader) Unbind thread and restore the specified context classloader.boolean
wasCreatedDynamicServlet
(Servlet servlet) Methods inherited from class org.apache.catalina.core.ContainerBase
addContainerListener, addPropertyChangeListener, addValve, findChild, findChildren, findContainerListeners, fireContainerEvent, getAccessLog, getBackgroundProcessorDelay, getCatalinaBase, getCatalinaHome, getChildren, getCluster, getClusterInternal, getDomainInternal, getLogger, getLogName, getMBeanKeyProperties, getName, getParent, getPipeline, getRealm, getRealmInternal, getStartChildren, getStartStopThreads, logAccess, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setName, setParent, setParentClassLoader, setRealm, setStartChildren, setStartStopThreads, threadStart, threadStop, toString
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.catalina.Container
addContainerListener, addPropertyChangeListener, findChild, findChildren, findContainerListeners, fireContainerEvent, getAccessLog, getBackgroundProcessorDelay, getCatalinaBase, getCatalinaHome, getCluster, getDomain, getLogger, getLogName, getMBeanKeyProperties, getName, getObjectName, getParent, getPipeline, getRealm, getStartStopThreads, logAccess, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setName, setParent, setParentClassLoader, setRealm, setStartStopThreads
Methods inherited from interface org.apache.catalina.Context
addServletMappingDecoded, findConfigFileResource, isParallelAnnotationScanning
Methods inherited from interface org.apache.catalina.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
-
Field Details
-
allowCasualMultipartParsing
protected boolean allowCasualMultipartParsingAllow multipart/form-data requests to be parsed even when the target servlet doesn't specify @MultipartConfig or have a <multipart-config> element. -
context
The ServletContext implementation associated with this Context. -
manager
The Manager implementation with which this Container is associated. -
DEFAULT_NAMING_LISTENER
-
threadBindingListener
-
-
Constructor Details
-
StandardContext
public StandardContext()Create a new StandardContext component with the default basic Valve.
-
-
Method Details
-
getNotFoundClassResourceCacheSize
public int getNotFoundClassResourceCacheSize() -
setNotFoundClassResourceCacheSize
public void setNotFoundClassResourceCacheSize(int notFoundClassResourceCacheSize) -
setCreateUploadTargets
public void setCreateUploadTargets(boolean createUploadTargets) Description copied from interface:Context
Configure whether Tomcat will attempt to create an upload target used by this web application if it does not exist when the web application attempts to use it.- Specified by:
setCreateUploadTargets
in interfaceContext
- Parameters:
createUploadTargets
-true
if Tomcat should attempt to create the upload target, otherwisefalse
-
getCreateUploadTargets
public boolean getCreateUploadTargets()Description copied from interface:Context
Will Tomcat attempt to create an upload target used by this web application if it does not exist when the web application attempts to use it?- Specified by:
getCreateUploadTargets
in interfaceContext
- Returns:
true
if Tomcat will attempt to create an upload target otherwisefalse
-
incrementInProgressAsyncCount
public void incrementInProgressAsyncCount()- Specified by:
incrementInProgressAsyncCount
in interfaceContext
-
decrementInProgressAsyncCount
public void decrementInProgressAsyncCount()- Specified by:
decrementInProgressAsyncCount
in interfaceContext
-
getInProgressAsyncCount
public long getInProgressAsyncCount() -
setAllowMultipleLeadingForwardSlashInPath
public void setAllowMultipleLeadingForwardSlashInPath(boolean allowMultipleLeadingForwardSlashInPath) Description copied from interface:Context
Configure if, when returning a context path fromHttpServletRequest.getContextPath()
, the return value is allowed to contain multiple leading '/' characters.- Specified by:
setAllowMultipleLeadingForwardSlashInPath
in interfaceContext
- Parameters:
allowMultipleLeadingForwardSlashInPath
- The new value for the flag
-
getAllowMultipleLeadingForwardSlashInPath
public boolean getAllowMultipleLeadingForwardSlashInPath()Description copied from interface:Context
When returning a context path fromHttpServletRequest.getContextPath()
, is it allowed to contain multiple leading '/' characters?- Specified by:
getAllowMultipleLeadingForwardSlashInPath
in interfaceContext
- Returns:
true
if multiple leading '/' characters are allowed, otherwisefalse
-
getRequestCharacterEncoding
Description copied from interface:Context
Get the default request body encoding for this web application.- Specified by:
getRequestCharacterEncoding
in interfaceContext
- Returns:
- The default request body encoding
-
setRequestCharacterEncoding
Description copied from interface:Context
Set the default request body encoding for this web application.- Specified by:
setRequestCharacterEncoding
in interfaceContext
- Parameters:
requestEncoding
- The default encoding
-
getResponseCharacterEncoding
Description copied from interface:Context
Get the default response body encoding for this web application.- Specified by:
getResponseCharacterEncoding
in interfaceContext
- Returns:
- The default response body encoding
-
setResponseCharacterEncoding
Description copied from interface:Context
Set the default response body encoding for this web application.- Specified by:
setResponseCharacterEncoding
in interfaceContext
- Parameters:
responseEncoding
- The default encoding
-
setDispatchersUseEncodedPaths
public void setDispatchersUseEncodedPaths(boolean dispatchersUseEncodedPaths) Description copied from interface:Context
Are paths used in calls to obtain a request dispatcher expected to be encoded? This affects both how Tomcat handles calls to obtain a request dispatcher as well as how Tomcat generates paths used to obtain request dispatchers internally.- Specified by:
setDispatchersUseEncodedPaths
in interfaceContext
- Parameters:
dispatchersUseEncodedPaths
-true
to use encoded paths, otherwisefalse
-
getDispatchersUseEncodedPaths
public boolean getDispatchersUseEncodedPaths()Are paths used in calls to obtain a request dispatcher expected to be encoded? This applies to both how Tomcat handles calls to obtain a request dispatcher as well as how Tomcat generates paths used to obtain request dispatchers internally.The default value for this implementation is
true
.- Specified by:
getDispatchersUseEncodedPaths
in interfaceContext
- Returns:
true
if encoded paths will be used, otherwisefalse
-
setUseRelativeRedirects
public void setUseRelativeRedirects(boolean useRelativeRedirects) Description copied from interface:Context
Controls whether HTTP 1.1 and later location headers generated by a call toHttpServletResponse.sendRedirect(String)
will use relative or absolute redirects.Relative redirects are more efficient but may not work with reverse proxies that change the context path. It should be noted that it is not recommended to use a reverse proxy to change the context path because of the multiple issues it creates.
Absolute redirects should work with reverse proxies that change the context path but may cause issues with the
RemoteIpFilter
if the filter is changing the scheme and/or port.- Specified by:
setUseRelativeRedirects
in interfaceContext
- Parameters:
useRelativeRedirects
-true
to use relative redirects andfalse
to use absolute redirects
-
getUseRelativeRedirects
public boolean getUseRelativeRedirects()Will HTTP 1.1 and later location headers generated by a call toHttpServletResponse.sendRedirect(String)
use relative or absolute redirects.The default value for this implementation is
true
.- Specified by:
getUseRelativeRedirects
in interfaceContext
- Returns:
true
if relative redirects will be usedfalse
if absolute redirects are used.- See Also:
-
setMapperContextRootRedirectEnabled
public void setMapperContextRootRedirectEnabled(boolean mapperContextRootRedirectEnabled) Description copied from interface:Context
If enabled, requests for a web application context root will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the context path is valid.- Specified by:
setMapperContextRootRedirectEnabled
in interfaceContext
- Parameters:
mapperContextRootRedirectEnabled
- Should the redirects be enabled?
-
getMapperContextRootRedirectEnabled
public boolean getMapperContextRootRedirectEnabled()Determines if requests for a web application context root will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the context path is valid.The default value for this implementation is
false
.- Specified by:
getMapperContextRootRedirectEnabled
in interfaceContext
- Returns:
true
if the Mapper level redirect is enabled for this Context.
-
setMapperDirectoryRedirectEnabled
public void setMapperDirectoryRedirectEnabled(boolean mapperDirectoryRedirectEnabled) Description copied from interface:Context
If enabled, requests for a directory will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the directory is valid.- Specified by:
setMapperDirectoryRedirectEnabled
in interfaceContext
- Parameters:
mapperDirectoryRedirectEnabled
- Should the redirects be enabled?
-
getMapperDirectoryRedirectEnabled
public boolean getMapperDirectoryRedirectEnabled()Determines if requests for a directory will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the directory is valid.The default value for this implementation is
false
.- Specified by:
getMapperDirectoryRedirectEnabled
in interfaceContext
- Returns:
true
if the Mapper level redirect is enabled for this Context.
-
setValidateClientProvidedNewSessionId
public void setValidateClientProvidedNewSessionId(boolean validateClientProvidedNewSessionId) Description copied from interface:Context
When a client provides the ID for a new session, should that ID be validated? The only use case for using a client provided session ID is to have a common session ID across multiple web applications. Therefore, any client provided session ID should already exist in another web application. If this check is enabled, the client provided session ID will only be used if the session ID exists in at least one other web application for the current host. Note that the following additional tests are always applied, irrespective of this setting:- The session ID is provided by a cookie
- The session cookie has a path of
/
- Specified by:
setValidateClientProvidedNewSessionId
in interfaceContext
- Parameters:
validateClientProvidedNewSessionId
-true
if validation should be applied
-
getValidateClientProvidedNewSessionId
public boolean getValidateClientProvidedNewSessionId()Will client provided session IDs be validated (seeContext.setValidateClientProvidedNewSessionId(boolean)
) before use?The default value for this implementation is
true
.- Specified by:
getValidateClientProvidedNewSessionId
in interfaceContext
- Returns:
true
if validation will be applied. Otherwise,false
-
setCookieProcessor
Description copied from interface:Context
Sets theCookieProcessor
that will be used to process cookies for this Context.- Specified by:
setCookieProcessor
in interfaceContext
- Parameters:
cookieProcessor
- The new cookie processor
-
getCookieProcessor
- Specified by:
getCookieProcessor
in interfaceContext
- Returns:
- the
CookieProcessor
that will be used to process cookies for this Context.
-
getNamingToken
- Specified by:
getNamingToken
in interfaceContext
- Returns:
- the token necessary for operations on the associated JNDI naming context.
-
setContainerSciFilter
Description copied from interface:Context
Sets the regular expression that specifies which container provided SCIs should be filtered out and not used for this context. Matching usesMatcher.find()
so the regular expression only has to match a sub-string of the fully qualified class name of the container provided SCI for it to be filtered out.- Specified by:
setContainerSciFilter
in interfaceContext
- Parameters:
containerSciFilter
- The regular expression against which the fully qualified class name of each container provided SCI should be checked
-
getContainerSciFilter
Description copied from interface:Context
Obtains the regular expression that specifies which container provided SCIs should be filtered out and not used for this context. Matching usesMatcher.find()
so the regular expression only has to match a sub-string of the fully qualified class name of the container provided SCI for it to be filtered out.- Specified by:
getContainerSciFilter
in interfaceContext
- Returns:
- The regular expression against which the fully qualified class name of each container provided SCI will be checked
-
getSendRedirectBody
public boolean getSendRedirectBody()- Specified by:
getSendRedirectBody
in interfaceContext
- Returns:
- if the context is configured to include a response body as part of a redirect response.
-
setSendRedirectBody
public void setSendRedirectBody(boolean sendRedirectBody) Description copied from interface:Context
Configures if a response body is included when a redirect response is sent to the client.- Specified by:
setSendRedirectBody
in interfaceContext
- Parameters:
sendRedirectBody
-true
to send a response body for redirects
-
getPreemptiveAuthentication
public boolean getPreemptiveAuthentication()- Specified by:
getPreemptiveAuthentication
in interfaceContext
- Returns:
- if a user presents authentication credentials, will the context will process them when the request is for a non-protected resource.
-
setPreemptiveAuthentication
public void setPreemptiveAuthentication(boolean preemptiveAuthentication) Description copied from interface:Context
Configures if a user presents authentication credentials, whether the context will process them when the request is for a non-protected resource.- Specified by:
setPreemptiveAuthentication
in interfaceContext
- Parameters:
preemptiveAuthentication
-true
to perform authentication even outside security constraints
-
setFireRequestListenersOnForwards
public void setFireRequestListenersOnForwards(boolean enable) Description copied from interface:Context
Configure whether or not requests listeners will be fired on forwards for this Context.- Specified by:
setFireRequestListenersOnForwards
in interfaceContext
- Parameters:
enable
-true
to fire request listeners when forwarding
-
getFireRequestListenersOnForwards
public boolean getFireRequestListenersOnForwards()- Specified by:
getFireRequestListenersOnForwards
in interfaceContext
- Returns:
- whether or not requests listeners will be fired on forwards for this Context.
-
setAddWebinfClassesResources
public void setAddWebinfClassesResources(boolean addWebinfClassesResources) Description copied from interface:Context
Sets the flag that indicates if /WEB-INF/classes should be treated like an exploded JAR and JAR resources made available as if they were in a JAR.- Specified by:
setAddWebinfClassesResources
in interfaceContext
- Parameters:
addWebinfClassesResources
- The new value for the flag
-
getAddWebinfClassesResources
public boolean getAddWebinfClassesResources()- Specified by:
getAddWebinfClassesResources
in interfaceContext
- Returns:
- the flag that indicates if /WEB-INF/classes should be treated like an exploded JAR and JAR resources made available as if they were in a JAR.
-
setWebappVersion
Description copied from interface:Context
Set the version of this web application - used to differentiate different versions of the same web application when using parallel deployment.- Specified by:
setWebappVersion
in interfaceContext
- Parameters:
webappVersion
- The webapp version associated with the context, which should be unique
-
getWebappVersion
- Specified by:
getWebappVersion
in interfaceContext
- Returns:
- The version of this web application, used to differentiate different versions of the same web application when using parallel deployment. If not specified, defaults to the empty string.
-
getBaseName
- Specified by:
getBaseName
in interfaceContext
- Returns:
- the base name to use for WARs, directories or context.xml files for this context.
-
getResourceOnlyServlets
Description copied from interface:Context
Obtains the list of Servlets that expect a resource to be present.- Specified by:
getResourceOnlyServlets
in interfaceContext
- Returns:
- A comma separated list of Servlet names as used in web.xml
-
setResourceOnlyServlets
Description copied from interface:Context
Sets the (comma separated) list of Servlets that expect a resource to be present. Used to ensure that welcome files associated with Servlets that expect a resource to be present are not mapped when there is no resource.- Specified by:
setResourceOnlyServlets
in interfaceContext
- Parameters:
resourceOnlyServlets
- The Servlet names comma separated list
-
isResourceOnlyServlet
Description copied from interface:Context
Checks the named Servlet to see if it expects a resource to be present.- Specified by:
isResourceOnlyServlet
in interfaceContext
- Parameters:
servletName
- Name of the Servlet (as per web.xml) to check- Returns:
true
if the Servlet expects a resource, otherwisefalse
-
getEffectiveMajorVersion
public int getEffectiveMajorVersion()- Specified by:
getEffectiveMajorVersion
in interfaceContext
- Returns:
- the effective major version of the Servlet spec used by this context.
-
setEffectiveMajorVersion
public void setEffectiveMajorVersion(int effectiveMajorVersion) Description copied from interface:Context
Set the effective major version of the Servlet spec used by this context.- Specified by:
setEffectiveMajorVersion
in interfaceContext
- Parameters:
effectiveMajorVersion
- Set the version number
-
getEffectiveMinorVersion
public int getEffectiveMinorVersion()- Specified by:
getEffectiveMinorVersion
in interfaceContext
- Returns:
- the effective minor version of the Servlet spec used by this context.
-
setEffectiveMinorVersion
public void setEffectiveMinorVersion(int effectiveMinorVersion) Description copied from interface:Context
Set the effective minor version of the Servlet spec used by this context.- Specified by:
setEffectiveMinorVersion
in interfaceContext
- Parameters:
effectiveMinorVersion
- Set the version number
-
setLogEffectiveWebXml
public void setLogEffectiveWebXml(boolean logEffectiveWebXml) Description copied from interface:Context
Set whether or not the effective web.xml for this context should be logged on context start.- Specified by:
setLogEffectiveWebXml
in interfaceContext
- Parameters:
logEffectiveWebXml
- set totrue
to log the complete web.xml that will be used for the webapp
-
getLogEffectiveWebXml
public boolean getLogEffectiveWebXml()Description copied from interface:Context
Should the effective web.xml for this context be logged on context start?- Specified by:
getLogEffectiveWebXml
in interfaceContext
- Returns:
- true if the reconstructed web.xml that will be used for the webapp should be logged
-
getAuthenticator
- Specified by:
getAuthenticator
in interfaceContext
- Returns:
- the
Authenticator
that is used by this context. This is always non-null
for a started Context
-
getJarScanner
Description copied from interface:Context
Get the Jar Scanner to be used to scan for JAR resources for this context.- Specified by:
getJarScanner
in interfaceContext
- Returns:
- The Jar Scanner configured for this context.
-
setJarScanner
Description copied from interface:Context
Set the Jar Scanner to be used to scan for JAR resources for this context.- Specified by:
setJarScanner
in interfaceContext
- Parameters:
jarScanner
- The Jar Scanner to be used for this context.
-
getInstanceManager
- Specified by:
getInstanceManager
in interfaceContext
- Returns:
- the instance manager associated with this context.
-
setInstanceManager
Description copied from interface:Context
Set the instance manager associated with this context.- Specified by:
setInstanceManager
in interfaceContext
- Parameters:
instanceManager
- the new instance manager instance
-
getEncodedPath
Description copied from interface:Context
Return the URL encoded context path- Specified by:
getEncodedPath
in interfaceContext
- Returns:
- The URL encoded (with UTF-8) context path
-
setAllowCasualMultipartParsing
public void setAllowCasualMultipartParsing(boolean allowCasualMultipartParsing) Description copied from interface:Context
Set totrue
to allow requests mapped to servlets that do not explicitly declare @MultipartConfig or have <multipart-config> specified in web.xml to parse multipart/form-data requests.- Specified by:
setAllowCasualMultipartParsing
in interfaceContext
- Parameters:
allowCasualMultipartParsing
-true
to allow such casual parsing,false
otherwise.
-
getAllowCasualMultipartParsing
public boolean getAllowCasualMultipartParsing()Returnstrue
if requests mapped to servlets without "multipart config" to parse multipart/form-data requests anyway.The default value for this implementation is
false
.- Specified by:
getAllowCasualMultipartParsing
in interfaceContext
- Returns:
true
if requests mapped to servlets without "multipart config" to parse multipart/form-data requests,false
otherwise.
-
setSwallowAbortedUploads
public void setSwallowAbortedUploads(boolean swallowAbortedUploads) Description copied from interface:Context
Set tofalse
to disable request data swallowing after an upload was aborted due to size constraints.- Specified by:
setSwallowAbortedUploads
in interfaceContext
- Parameters:
swallowAbortedUploads
-false
to disable swallowing,true
otherwise (default).
-
getSwallowAbortedUploads
public boolean getSwallowAbortedUploads()Returnstrue
if remaining request data will be read (swallowed) even the request violates a data size constraint.The default value for this implementation is
false
.- Specified by:
getSwallowAbortedUploads
in interfaceContext
- Returns:
true
if data will be swallowed (default),false
otherwise.
-
addServletContainerInitializer
Description copied from interface:Context
Add a ServletContainerInitializer instance to this web application.- Specified by:
addServletContainerInitializer
in interfaceContext
- Parameters:
sci
- The instance to addclasses
- The classes in which the initializer expressed an interest
-
getDelegate
public boolean getDelegate()Return the "follow standard delegation model" flag used to configure our ClassLoader.- Returns:
true
if classloading delegates to the parent classloader first
-
setDelegate
public void setDelegate(boolean delegate) Set the "follow standard delegation model" flag used to configure our ClassLoader.- Parameters:
delegate
- The new flag
-
isUseNaming
public boolean isUseNaming()- Returns:
- true if the internal naming support is used.
-
setUseNaming
public void setUseNaming(boolean useNaming) Enables or disables naming.- Parameters:
useNaming
-true
to enable the naming environment
-
getApplicationEventListeners
Description copied from interface:Context
Obtain the registered application event listeners.- Specified by:
getApplicationEventListeners
in interfaceContext
- Returns:
- An array containing the application event listener instances for this web application in the order they were specified in the web application deployment descriptor
-
setApplicationEventListeners
Store the set of initialized application event listener objects, in the order they were specified in the web application deployment descriptor, for this application. Note that this implementation is not thread safe. If two threads call this method concurrently, the result may be either set of listeners or a the union of both.- Specified by:
setApplicationEventListeners
in interfaceContext
- Parameters:
listeners
- The set of instantiated listener objects.
-
addApplicationEventListener
Add a listener to the end of the list of initialized application event listeners.- Parameters:
listener
- The listener to add
-
getApplicationLifecycleListeners
Description copied from interface:Context
Obtain the registered application lifecycle listeners.- Specified by:
getApplicationLifecycleListeners
in interfaceContext
- Returns:
- An array containing the application lifecycle listener instances for this web application in the order they were specified in the web application deployment descriptor
-
setApplicationLifecycleListeners
Description copied from interface:Context
Store the set of initialized application lifecycle listener objects, in the order they were specified in the web application deployment descriptor, for this application.- Specified by:
setApplicationLifecycleListeners
in interfaceContext
- Parameters:
listeners
- The set of instantiated listener objects.
-
addApplicationLifecycleListener
Add a listener to the end of the list of initialized application lifecycle listeners.- Parameters:
listener
- The listener to add
-
getAntiResourceLocking
public boolean getAntiResourceLocking()- Returns:
- the antiResourceLocking flag for this Context.
-
setAntiResourceLocking
public void setAntiResourceLocking(boolean antiResourceLocking) Set the antiResourceLocking feature for this Context.- Parameters:
antiResourceLocking
- The new flag value
-
getUseBloomFilterForArchives
Deprecated.- Specified by:
getUseBloomFilterForArchives
in interfaceContext
- Returns:
true
if the resources archive lookup will use a bloom filter.
-
setUseBloomFilterForArchives
Deprecated.Description copied from interface:Context
Set bloom filter flag value.- Specified by:
setUseBloomFilterForArchives
in interfaceContext
- Parameters:
useBloomFilterForArchives
- The new fast class path scan flag
-
setParallelAnnotationScanning
public void setParallelAnnotationScanning(boolean parallelAnnotationScanning) Description copied from interface:Context
Set the parallel annotation scanning value.- Specified by:
setParallelAnnotationScanning
in interfaceContext
- Parameters:
parallelAnnotationScanning
- new parallel annotation scanning flag
-
getParallelAnnotationScanning
public boolean getParallelAnnotationScanning()- Specified by:
getParallelAnnotationScanning
in interfaceContext
- Returns:
- the value of the parallel annotation scanning flag. If true, it will dispatch scanning to the utility executor.
-
getCharsetMapper
- Returns:
- the Locale to character set mapper for this Context.
-
setCharsetMapper
Set the Locale to character set mapper for this Context.- Parameters:
mapper
- The new mapper
-
getCharset
Description copied from interface:Context
Obtain the character set name to use with the given Locale. Note that different Contexts may have different mappings of Locale to character set.- Specified by:
getCharset
in interfaceContext
- Parameters:
locale
- The locale for which the mapped character set should be returned- Returns:
- The name of the character set to use with the given Locale
-
getConfigFile
Description copied from interface:Context
Return the URL of the XML descriptor for this context.- Specified by:
getConfigFile
in interfaceContext
- Returns:
- The URL of the XML descriptor for this context
-
setConfigFile
Description copied from interface:Context
Set the URL of the XML descriptor for this context.- Specified by:
setConfigFile
in interfaceContext
- Parameters:
configFile
- The URL of the XML descriptor for this context.
-
getConfigured
public boolean getConfigured()Description copied from interface:Context
Return the "correctly configured" flag for this Context.- Specified by:
getConfigured
in interfaceContext
- Returns:
true
if the Context has been correctly configured, otherwisefalse
-
setConfigured
public void setConfigured(boolean configured) Description copied from interface:Context
Set the "correctly configured" flag for this Context. This can be set to false by startup listeners that detect a fatal configuration error to avoid the application from being made available.- Specified by:
setConfigured
in interfaceContext
- Parameters:
configured
- The new correctly configured flag
-
getCookies
public boolean getCookies()Description copied from interface:Context
Return the "use cookies for session ids" flag.- Specified by:
getCookies
in interfaceContext
- Returns:
true
if it is permitted to use cookies to track session IDs for this web application, otherwisefalse
-
setCookies
public void setCookies(boolean cookies) Description copied from interface:Context
Set the "use cookies for session ids" flag.- Specified by:
setCookies
in interfaceContext
- Parameters:
cookies
- The new flag
-
getSessionCookieName
Description copied from interface:Context
Gets the name to use for session cookies. Overrides any setting that may be specified by the application.- Specified by:
getSessionCookieName
in interfaceContext
- Returns:
- The value of the default session cookie name or null if not specified
-
setSessionCookieName
Description copied from interface:Context
Sets the name to use for session cookies. Overrides any setting that may be specified by the application.- Specified by:
setSessionCookieName
in interfaceContext
- Parameters:
sessionCookieName
- The name to use
-
getUseHttpOnly
public boolean getUseHttpOnly()Gets the value of the use HttpOnly cookies for session cookies flag.The default value for this implementation is
true
.- Specified by:
getUseHttpOnly
in interfaceContext
- Returns:
true
if the HttpOnly flag should be set on session cookies
-
setUseHttpOnly
public void setUseHttpOnly(boolean useHttpOnly) Description copied from interface:Context
Sets the use HttpOnly cookies for session cookies flag.- Specified by:
setUseHttpOnly
in interfaceContext
- Parameters:
useHttpOnly
- Set totrue
to use HttpOnly cookies for session cookies
-
getSessionCookieDomain
Description copied from interface:Context
Gets the domain to use for session cookies. Overrides any setting that may be specified by the application.- Specified by:
getSessionCookieDomain
in interfaceContext
- Returns:
- The value of the default session cookie domain or null if not specified
-
setSessionCookieDomain
Description copied from interface:Context
Sets the domain to use for session cookies. Overrides any setting that may be specified by the application.- Specified by:
setSessionCookieDomain
in interfaceContext
- Parameters:
sessionCookieDomain
- The domain to use
-
getSessionCookiePath
Description copied from interface:Context
Gets the path to use for session cookies. Overrides any setting that may be specified by the application.- Specified by:
getSessionCookiePath
in interfaceContext
- Returns:
- The value of the default session cookie path or null if not specified
-
setSessionCookiePath
Description copied from interface:Context
Sets the path to use for session cookies. Overrides any setting that may be specified by the application.- Specified by:
setSessionCookiePath
in interfaceContext
- Parameters:
sessionCookiePath
- The path to use
-
getSessionCookiePathUsesTrailingSlash
public boolean getSessionCookiePathUsesTrailingSlash()Description copied from interface:Context
Is a / added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.- Specified by:
getSessionCookiePathUsesTrailingSlash
in interfaceContext
- Returns:
true
if the slash is added, otherwisefalse
-
setSessionCookiePathUsesTrailingSlash
public void setSessionCookiePathUsesTrailingSlash(boolean sessionCookiePathUsesTrailingSlash) Description copied from interface:Context
Configures if a / is added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.- Specified by:
setSessionCookiePathUsesTrailingSlash
in interfaceContext
- Parameters:
sessionCookiePathUsesTrailingSlash
-true
if the slash is should be added, otherwisefalse
-
getCrossContext
public boolean getCrossContext()Return the "allow crossing servlet contexts" flag.The default value for this implementation is
false
.- Specified by:
getCrossContext
in interfaceContext
- Returns:
true
if cross-contest requests are allowed from this web applications, otherwisefalse
-
setCrossContext
public void setCrossContext(boolean crossContext) Description copied from interface:Context
Set the "allow crossing servlet contexts" flag.- Specified by:
setCrossContext
in interfaceContext
- Parameters:
crossContext
- The new cross contexts flag
-
getDefaultContextXml
-
setDefaultContextXml
Set the location of the default context xml that will be used. If not absolute, it'll be made relative to the engine's base dir ( which defaults to catalina.base system property ).- Parameters:
defaultContextXml
- The default web xml
-
getDefaultWebXml
-
setDefaultWebXml
Set the location of the default web xml that will be used. If not absolute, it'll be made relative to the engine's base dir ( which defaults to catalina.base system property ).- Parameters:
defaultWebXml
- The default web xml
-
getStartupTime
public long getStartupTime()Gets the time (in milliseconds) it took to start this context.- Returns:
- Time (in milliseconds) it took to start this context.
-
setStartupTime
public void setStartupTime(long startupTime) -
getTldScanTime
public long getTldScanTime() -
setTldScanTime
public void setTldScanTime(long tldScanTime) -
getDenyUncoveredHttpMethods
public boolean getDenyUncoveredHttpMethods()Description copied from interface:Context
Return the deny-uncovered-http-methods flag for this web application.- Specified by:
getDenyUncoveredHttpMethods
in interfaceContext
- Returns:
- The current value of the flag
-
setDenyUncoveredHttpMethods
public void setDenyUncoveredHttpMethods(boolean denyUncoveredHttpMethods) Description copied from interface:Context
Set the deny-uncovered-http-methods flag for this web application.- Specified by:
setDenyUncoveredHttpMethods
in interfaceContext
- Parameters:
denyUncoveredHttpMethods
- The new deny-uncovered-http-methods flag
-
getDisplayName
Description copied from interface:Context
Return the display name of this web application.- Specified by:
getDisplayName
in interfaceContext
- Returns:
- The display name
-
getAltDDName
Description copied from interface:Context
Return the alternate Deployment Descriptor name.- Specified by:
getAltDDName
in interfaceContext
- Returns:
- the name
-
setAltDDName
Description copied from interface:Context
Set an alternate Deployment Descriptor name.- Specified by:
setAltDDName
in interfaceContext
- Parameters:
altDDName
- The new name
-
setDisplayName
Description copied from interface:Context
Set the display name of this web application.- Specified by:
setDisplayName
in interfaceContext
- Parameters:
displayName
- The new display name
-
getDistributable
public boolean getDistributable()Get the distributable flag for this web application.The default value for this implementation is
false
.- Specified by:
getDistributable
in interfaceContext
- Returns:
- The value of the distributable flag for this web application.
-
setDistributable
public void setDistributable(boolean distributable) Description copied from interface:Context
Set the distributable flag for this web application.- Specified by:
setDistributable
in interfaceContext
- Parameters:
distributable
- The new distributable flag
-
getDocBase
Description copied from interface:Context
Obtain the document root for this Context.- Specified by:
getDocBase
in interfaceContext
- Returns:
- An absolute pathname or a relative (to the Host's appBase) pathname.
-
setDocBase
Description copied from interface:Context
Set the document root for this Context. This can be either an absolute pathname or a relative pathname. Relative pathnames are relative to the containing Host's appBase.- Specified by:
setDocBase
in interfaceContext
- Parameters:
docBase
- The new document root
-
getJ2EEApplication
-
setJ2EEApplication
-
getJ2EEServer
-
setJ2EEServer
-
getLoader
-
setLoader
Description copied from interface:Context
Set the Loader with which this Context is associated. -
getManager
- Specified by:
getManager
in interfaceContext
- Returns:
- the Manager with which this Context is associated. If there is no associated Manager, return
null
.
-
setManager
Description copied from interface:Context
Set the Manager with which this Context is associated.- Specified by:
setManager
in interfaceContext
- Parameters:
manager
- The newly associated Manager
-
getIgnoreAnnotations
public boolean getIgnoreAnnotations()Determine if annotations parsing is currently disabledThe default value for this implementation is
false
.- Specified by:
getIgnoreAnnotations
in interfaceContext
- Returns:
true
if annotation parsing is disabled for this web application
-
setIgnoreAnnotations
public void setIgnoreAnnotations(boolean ignoreAnnotations) Description copied from interface:Context
Set the boolean on the annotations parsing for this web application.- Specified by:
setIgnoreAnnotations
in interfaceContext
- Parameters:
ignoreAnnotations
- The boolean on the annotations parsing
-
getLoginConfig
- Specified by:
getLoginConfig
in interfaceContext
- Returns:
- the login configuration descriptor for this web application.
-
setLoginConfig
Description copied from interface:Context
Set the login configuration descriptor for this web application.- Specified by:
setLoginConfig
in interfaceContext
- Parameters:
config
- The new login configuration
-
getNamingResources
- Specified by:
getNamingResources
in interfaceContext
- Returns:
- the naming resources associated with this web application.
-
setNamingResources
Description copied from interface:Context
Set the naming resources for this web application.- Specified by:
setNamingResources
in interfaceContext
- Parameters:
namingResources
- The new naming resources
-
getPath
-
setPath
Description copied from interface:Context
Set the context path for this web application. -
getPublicId
- Specified by:
getPublicId
in interfaceContext
- Returns:
- the public identifier of the deployment descriptor DTD that is currently being parsed.
-
setPublicId
Description copied from interface:Context
Set the public identifier of the deployment descriptor DTD that is currently being parsed.- Specified by:
setPublicId
in interfaceContext
- Parameters:
publicId
- The public identifier
-
getReloadable
public boolean getReloadable()The default value for this implementation is
false
.- Specified by:
getReloadable
in interfaceContext
- Returns:
- the reloadable flag for this web application.
-
getOverride
public boolean getOverride()The default value for this implementation is
false
.- Specified by:
getOverride
in interfaceContext
- Returns:
- the override flag for this web application.
-
getOriginalDocBase
- Returns:
- the original document root for this Context. This can be an absolute pathname, a relative pathname, or a URL. Is only set as deployment has change docRoot!
-
setOriginalDocBase
Set the original document root for this Context. This can be an absolute pathname, a relative pathname, or a URL.- Parameters:
docBase
- The original document root
-
getParentClassLoader
Description copied from interface:Container
Get the parent class loader.- Specified by:
getParentClassLoader
in interfaceContainer
- Overrides:
getParentClassLoader
in classContainerBase
- Returns:
- the parent class loader for this component. If not set, return
Container.getParent()
.Container.getParentClassLoader()
. If no parent has been set, return the system class loader.
-
getPrivileged
public boolean getPrivileged()The default value for this implementation is
false
.- Specified by:
getPrivileged
in interfaceContext
- Returns:
- the privileged flag for this web application.
-
setPrivileged
public void setPrivileged(boolean privileged) Description copied from interface:Context
Set the privileged flag for this web application.- Specified by:
setPrivileged
in interfaceContext
- Parameters:
privileged
- The new privileged flag
-
setReloadable
public void setReloadable(boolean reloadable) Description copied from interface:Context
Set the reloadable flag for this web application.- Specified by:
setReloadable
in interfaceContext
- Parameters:
reloadable
- The new reloadable flag
-
setOverride
public void setOverride(boolean override) Description copied from interface:Context
Set the override flag for this web application.- Specified by:
setOverride
in interfaceContext
- Parameters:
override
- The new override flag
-
setReplaceWelcomeFiles
public void setReplaceWelcomeFiles(boolean replaceWelcomeFiles) Set the "replace welcome files" property.- Parameters:
replaceWelcomeFiles
- The new property value
-
getServletContext
- Specified by:
getServletContext
in interfaceContext
- Returns:
- the Servlet context for which this Context is a facade.
-
getSessionTimeout
public int getSessionTimeout()The default value for this implementation is 30 minutes.
- Specified by:
getSessionTimeout
in interfaceContext
- Returns:
- the default session timeout (in minutes) for this web application.
-
setSessionTimeout
public void setSessionTimeout(int timeout) Description copied from interface:Context
Set the default session timeout (in minutes) for this web application.- Specified by:
setSessionTimeout
in interfaceContext
- Parameters:
timeout
- The new default session timeout
-
getSwallowOutput
public boolean getSwallowOutput()The default value for this implementation is
false
.- Specified by:
getSwallowOutput
in interfaceContext
- Returns:
- the value of the swallowOutput flag.
-
setSwallowOutput
public void setSwallowOutput(boolean swallowOutput) Description copied from interface:Context
Set the value of the swallowOutput flag. If set to true, the system.out and system.err will be redirected to the logger during a servlet execution.- Specified by:
setSwallowOutput
in interfaceContext
- Parameters:
swallowOutput
- The new value
-
getUnloadDelay
public long getUnloadDelay()- Returns:
- the value of the unloadDelay flag.
-
setUnloadDelay
public void setUnloadDelay(long unloadDelay) Set the value of the unloadDelay flag, which represents the amount of ms that the container will wait when unloading servlets. Setting this to a small value may cause more requests to fail to complete when stopping a web application.- Parameters:
unloadDelay
- The new value
-
getUnpackWAR
public boolean getUnpackWAR()- Returns:
- unpack WAR flag.
-
setUnpackWAR
public void setUnpackWAR(boolean unpackWAR) Unpack WAR flag mutator.- Parameters:
unpackWAR
-true
to unpack WARs on deployment
-
getCopyXML
public boolean getCopyXML()Flag which indicates if bundled context.xml files should be copied to the config folder. The doesn't occur by default.- Returns:
true
if theMETA-INF/context.xml
file included in a WAR will be copied to the host configuration base folder on deployment
-
setCopyXML
public void setCopyXML(boolean copyXML) Allows copying a bundled context.xml file to the host configuration base folder on deployment.- Parameters:
copyXML
- the new flag value
-
getWrapperClass
- Specified by:
getWrapperClass
in interfaceContext
- Returns:
- the Java class name of the Wrapper implementation used for servlets registered in this Context.
-
setWrapperClass
Description copied from interface:Context
Set the Java class name of the Wrapper implementation used for servlets registered in this Context.- Specified by:
setWrapperClass
in interfaceContext
- Parameters:
wrapperClassName
- The new wrapper class
-
getResources
- Specified by:
getResources
in interfaceContext
- Returns:
- the Resources with which this Context is associated.
-
setResources
Description copied from interface:Context
Set the Resources object with which this Context is associated.- Specified by:
setResources
in interfaceContext
- Parameters:
resources
- The newly associated Resources
-
getJspConfigDescriptor
- Specified by:
getJspConfigDescriptor
in interfaceContext
- Returns:
- the JSP configuration for this context. Will be null if there is no JSP configuration.
-
setJspConfigDescriptor
Description copied from interface:Context
Set the JspConfigDescriptor for this context. A null value indicates there is not JSP configuration.- Specified by:
setJspConfigDescriptor
in interfaceContext
- Parameters:
descriptor
- the new JSP configuration
-
getThreadBindingListener
- Specified by:
getThreadBindingListener
in interfaceContext
- Returns:
- the associated ThreadBindingListener.
-
setThreadBindingListener
Description copied from interface:Context
Get the associated ThreadBindingListener.- Specified by:
setThreadBindingListener
in interfaceContext
- Parameters:
threadBindingListener
- Set the listener that will receive notifications when entering and exiting the application scope
-
getJndiExceptionOnFailedWrite
public boolean getJndiExceptionOnFailedWrite()- Returns:
- whether or not an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.
-
setJndiExceptionOnFailedWrite
public void setJndiExceptionOnFailedWrite(boolean jndiExceptionOnFailedWrite) Controls whether or not an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.- Parameters:
jndiExceptionOnFailedWrite
-false
to avoid an exception
-
getCharsetMapperClass
- Returns:
- the Locale to character set mapper class for this Context.
-
setCharsetMapperClass
Set the Locale to character set mapper class for this Context.- Parameters:
mapper
- The new mapper class
-
getWorkPath
Get the absolute path to the work dir. To avoid duplication.- Returns:
- The work path
-
getWorkDir
- Returns:
- the work directory for this Context.
-
setWorkDir
Set the work directory for this Context.- Parameters:
workDir
- The new work directory
-
getClearReferencesRmiTargets
public boolean getClearReferencesRmiTargets() -
setClearReferencesRmiTargets
public void setClearReferencesRmiTargets(boolean clearReferencesRmiTargets) -
getClearReferencesStopThreads
public boolean getClearReferencesStopThreads()- Returns:
- the clearReferencesStopThreads flag for this Context.
-
setClearReferencesStopThreads
public void setClearReferencesStopThreads(boolean clearReferencesStopThreads) Set the clearReferencesStopThreads feature for this Context.- Parameters:
clearReferencesStopThreads
- The new flag value
-
getClearReferencesStopTimerThreads
public boolean getClearReferencesStopTimerThreads()- Returns:
- the clearReferencesStopTimerThreads flag for this Context.
-
setClearReferencesStopTimerThreads
public void setClearReferencesStopTimerThreads(boolean clearReferencesStopTimerThreads) Set the clearReferencesStopTimerThreads feature for this Context.- Parameters:
clearReferencesStopTimerThreads
- The new flag value
-
getClearReferencesHttpClientKeepAliveThread
public boolean getClearReferencesHttpClientKeepAliveThread()- Returns:
- the clearReferencesHttpClientKeepAliveThread flag for this Context.
-
setClearReferencesHttpClientKeepAliveThread
public void setClearReferencesHttpClientKeepAliveThread(boolean clearReferencesHttpClientKeepAliveThread) Set the clearReferencesHttpClientKeepAliveThread feature for this Context.- Parameters:
clearReferencesHttpClientKeepAliveThread
- The new flag value
-
getRenewThreadsWhenStoppingContext
public boolean getRenewThreadsWhenStoppingContext() -
setRenewThreadsWhenStoppingContext
public void setRenewThreadsWhenStoppingContext(boolean renewThreadsWhenStoppingContext) -
getClearReferencesObjectStreamClassCaches
public boolean getClearReferencesObjectStreamClassCaches() -
setClearReferencesObjectStreamClassCaches
public void setClearReferencesObjectStreamClassCaches(boolean clearReferencesObjectStreamClassCaches) -
getClearReferencesThreadLocals
public boolean getClearReferencesThreadLocals() -
setClearReferencesThreadLocals
public void setClearReferencesThreadLocals(boolean clearReferencesThreadLocals) -
getSkipMemoryLeakChecksOnJvmShutdown
public boolean getSkipMemoryLeakChecksOnJvmShutdown() -
setSkipMemoryLeakChecksOnJvmShutdown
public void setSkipMemoryLeakChecksOnJvmShutdown(boolean skipMemoryLeakChecksOnJvmShutdown) -
getFailCtxIfServletStartFails
-
setFailCtxIfServletStartFails
-
getComputedFailCtxIfServletStartFails
protected boolean getComputedFailCtxIfServletStartFails() -
addApplicationListener
Description copied from interface:Context
Add a new Listener class name to the set of Listeners configured for this application.- Specified by:
addApplicationListener
in interfaceContext
- Parameters:
listener
- Java class name of a listener class
-
addApplicationParameter
Description copied from interface:Context
Add a new application parameter for this application.- Specified by:
addApplicationParameter
in interfaceContext
- Parameters:
parameter
- The new application parameter
-
addChild
Description copied from interface:Container
Add a new child Container to those associated with this Container, if supported. Prior to adding this Container to the set of children, the child'ssetParent()
method must be called, with this Container as an argument. This method may thrown anIllegalArgumentException
if this Container chooses not to be attached to the specified Container, in which case it is not added- Specified by:
addChild
in interfaceContainer
- Overrides:
addChild
in classContainerBase
- Parameters:
child
- New child Container to be added
-
addConstraint
Description copied from interface:Context
Add a security constraint to the set for this web application.- Specified by:
addConstraint
in interfaceContext
- Parameters:
constraint
- The security constraint that should be added
-
addErrorPage
Description copied from interface:Context
Add an error page for the specified error or Java exception.- Specified by:
addErrorPage
in interfaceContext
- Parameters:
errorPage
- The error page definition to be added
-
addFilterDef
Description copied from interface:Context
Add a filter definition to this Context.- Specified by:
addFilterDef
in interfaceContext
- Parameters:
filterDef
- The filter definition to be added
-
addFilterMap
Description copied from interface:Context
Add a filter mapping to this Context.- Specified by:
addFilterMap
in interfaceContext
- Parameters:
filterMap
- The filter mapping to be added
-
addFilterMapBefore
Description copied from interface:Context
Add a filter mapping to this Context before the mappings defined in the deployment descriptor but after any other mappings added via this method.- Specified by:
addFilterMapBefore
in interfaceContext
- Parameters:
filterMap
- The filter mapping to be added
-
addLocaleEncodingMappingParameter
Description copied from interface:Context
Add a Locale Encoding Mapping (see Sec 5.4 of Servlet spec 2.4)- Specified by:
addLocaleEncodingMappingParameter
in interfaceContext
- Parameters:
locale
- locale to map an encoding forencoding
- encoding to be used for a give locale
-
addMessageDestination
Add a message destination for this web application.- Parameters:
md
- New message destination
-
addMessageDestinationRef
Deprecated.This will be removed in Tomcat 10. UsegetNamingResources()
insteadAdd a message destination reference for this web application.- Parameters:
mdr
- New message destination reference
-
addMimeMapping
Description copied from interface:Context
Add a new MIME mapping, replacing any existing mapping for the specified extension.- Specified by:
addMimeMapping
in interfaceContext
- Parameters:
extension
- Filename extension being mappedmimeType
- Corresponding MIME type
-
addParameter
Description copied from interface:Context
Add a new context initialization parameter, replacing any existing value for the specified name.- Specified by:
addParameter
in interfaceContext
- Parameters:
name
- Name of the new parametervalue
- Value of the new parameter
-
addRoleMapping
Description copied from interface:Context
Add a security role reference for this web application.- Specified by:
addRoleMapping
in interfaceContext
- Parameters:
role
- Security role used in the applicationlink
- Actual security role to check for
-
addSecurityRole
Description copied from interface:Context
Add a new security role for this web application.- Specified by:
addSecurityRole
in interfaceContext
- Parameters:
role
- New security role
-
addServletMappingDecoded
Description copied from interface:Context
Add a new servlet mapping, replacing any existing mapping for the specified pattern.- Specified by:
addServletMappingDecoded
in interfaceContext
- Parameters:
pattern
- URL pattern to be mappedname
- Name of the corresponding servlet to executejspWildCard
- true if name identifies the JspServlet and pattern contains a wildcard; false otherwise
-
addWatchedResource
Description copied from interface:Context
Add a resource which will be watched for reloading by the host auto deployer. Note: this will not be used in embedded mode.- Specified by:
addWatchedResource
in interfaceContext
- Parameters:
name
- Path to the resource, relative to docBase
-
addWelcomeFile
Description copied from interface:Context
Add a new welcome file to the set recognized by this Context.- Specified by:
addWelcomeFile
in interfaceContext
- Parameters:
name
- New welcome file name
-
addWrapperLifecycle
Description copied from interface:Context
Add the classname of a LifecycleListener to be added to each Wrapper appended to this Context.- Specified by:
addWrapperLifecycle
in interfaceContext
- Parameters:
listener
- Java class name of a LifecycleListener class
-
addWrapperListener
Description copied from interface:Context
Add the classname of a ContainerListener to be added to each Wrapper appended to this Context.- Specified by:
addWrapperListener
in interfaceContext
- Parameters:
listener
- Java class name of a ContainerListener class
-
createWrapper
Description copied from interface:Context
Factory method to create and return a new Wrapper instance, of the Java implementation class appropriate for this Context implementation. The constructor of the instantiated Wrapper will have been called, but no properties will have been set.- Specified by:
createWrapper
in interfaceContext
- Returns:
- a newly created wrapper instance that is used to wrap a Servlet
-
findApplicationListeners
- Specified by:
findApplicationListeners
in interfaceContext
- Returns:
- the set of application listener class names configured for this application.
-
findApplicationParameters
- Specified by:
findApplicationParameters
in interfaceContext
- Returns:
- the set of application parameters for this application.
-
findConstraints
- Specified by:
findConstraints
in interfaceContext
- Returns:
- the set of security constraints for this web application. If there are none, a zero-length array is returned.
-
findErrorPage
- Specified by:
findErrorPage
in interfaceContext
- Parameters:
errorCode
- Error code to look up- Returns:
- the error page entry for the specified HTTP error code, if any; otherwise return
null
.
-
findErrorPage
Deprecated.- Specified by:
findErrorPage
in interfaceContext
- Parameters:
exceptionType
- Exception type to look up- Returns:
- the error page entry for the specified Java exception type, if any; otherwise return
null
.
-
findErrorPage
Description copied from interface:Context
Find and return the ErrorPage instance for the specified exception's class, or an ErrorPage instance for the closest superclass for which there is such a definition. If no associated ErrorPage instance is found, returnnull
.- Specified by:
findErrorPage
in interfaceContext
- Parameters:
exceptionType
- The exception type for which to find an ErrorPage- Returns:
- the error page entry for the specified Java exception type, if any; otherwise return
null
.
-
findErrorPages
- Specified by:
findErrorPages
in interfaceContext
- Returns:
- the set of defined error pages for all specified error codes and exception types.
-
findFilterDef
- Specified by:
findFilterDef
in interfaceContext
- Parameters:
filterName
- Filter name to look up- Returns:
- the filter definition for the specified filter name, if any; otherwise return
null
.
-
findFilterDefs
- Specified by:
findFilterDefs
in interfaceContext
- Returns:
- the set of defined filters for this Context.
-
findFilterMaps
- Specified by:
findFilterMaps
in interfaceContext
- Returns:
- the set of filter mappings for this Context.
-
findMessageDestination
- Parameters:
name
- Name of the desired message destination- Returns:
- the message destination with the specified name, if any; otherwise, return
null
.
-
findMessageDestinations
- Returns:
- the set of defined message destinations for this web application. If none have been defined, a zero-length array is returned.
-
findMessageDestinationRef
Deprecated.This will be removed in Tomcat 10. UsegetNamingResources()
instead- Parameters:
name
- Name of the desired message destination ref- Returns:
- the message destination ref with the specified name, if any; otherwise, return
null
.
-
findMessageDestinationRefs
Deprecated.This will be removed in Tomcat 10. UsegetNamingResources()
instead- Returns:
- the set of defined message destination refs for this web application. If none have been defined, a zero-length array is returned.
-
findMimeMapping
- Specified by:
findMimeMapping
in interfaceContext
- Parameters:
extension
- Extension to map to a MIME type- Returns:
- the MIME type to which the specified extension is mapped, if any; otherwise return
null
.
-
findMimeMappings
- Specified by:
findMimeMappings
in interfaceContext
- Returns:
- the extensions for which MIME mappings are defined. If there are none, a zero-length array is returned.
-
findParameter
- Specified by:
findParameter
in interfaceContext
- Parameters:
name
- Name of the parameter to return- Returns:
- the value for the specified context initialization parameter name, if any; otherwise return
null
.
-
findParameters
- Specified by:
findParameters
in interfaceContext
- Returns:
- the names of all defined context initialization parameters for this Context. If no parameters are defined, a zero-length array is returned.
-
findRoleMapping
Description copied from interface:Context
For the given security role (as used by an application), return the corresponding role name (as defined by the underlying Realm) if there is one. Otherwise, return the specified role unchanged.- Specified by:
findRoleMapping
in interfaceContext
- Parameters:
role
- Security role to map- Returns:
- The role name that was mapped to the specified role
-
findSecurityRole
- Specified by:
findSecurityRole
in interfaceContext
- Parameters:
role
- Security role to verify- Returns:
true
if the specified security role is defined for this application; otherwise returnfalse
.
-
findSecurityRoles
- Specified by:
findSecurityRoles
in interfaceContext
- Returns:
- the security roles defined for this application. If none have been defined, a zero-length array is returned.
-
findServletMapping
- Specified by:
findServletMapping
in interfaceContext
- Parameters:
pattern
- Pattern for which a mapping is requested- Returns:
- the servlet name mapped by the specified pattern (if any); otherwise return
null
.
-
findServletMappings
- Specified by:
findServletMappings
in interfaceContext
- Returns:
- the patterns of all defined servlet mappings for this Context. If no mappings are defined, a zero-length array is returned.
-
findStatusPage
Deprecated.- Specified by:
findStatusPage
in interfaceContext
- Parameters:
status
- HTTP status code to look up- Returns:
- the context-relative URI of the error page for the specified HTTP status code, if any; otherwise return
null
.
-
findStatusPages
Deprecated.- Specified by:
findStatusPages
in interfaceContext
- Returns:
- the set of HTTP status codes for which error pages have been specified. If none are specified, a zero-length array is returned.
-
findWelcomeFile
- Specified by:
findWelcomeFile
in interfaceContext
- Parameters:
name
- Welcome file to verify- Returns:
true
if the specified welcome file is defined for this Context; otherwise returnfalse
.
-
findWatchedResources
- Specified by:
findWatchedResources
in interfaceContext
- Returns:
- the set of watched resources for this Context. If none are defined, a zero length array will be returned.
-
findWelcomeFiles
- Specified by:
findWelcomeFiles
in interfaceContext
- Returns:
- the set of welcome files defined for this Context. If none are defined, a zero-length array is returned.
-
findWrapperLifecycles
- Specified by:
findWrapperLifecycles
in interfaceContext
- Returns:
- the set of LifecycleListener classes that will be added to newly created Wrappers automatically.
-
findWrapperListeners
- Specified by:
findWrapperListeners
in interfaceContext
- Returns:
- the set of ContainerListener classes that will be added to newly created Wrappers automatically.
-
reload
public void reload()Reload this web application, if reloading is supported.IMPLEMENTATION NOTE: This method is designed to deal with reloads required by changes to classes in the underlying repositories of our class loader and changes to the web.xml file. It does not handle changes to any context.xml file. If the context.xml has changed, you should stop this Context and create (and start) a new Context instance instead. Note that there is additional code in
CoyoteAdapter#postParseRequest()
to handle mapping requests to paused Contexts. -
removeApplicationListener
Description copied from interface:Context
Remove the specified application listener class from the set of listeners for this application.- Specified by:
removeApplicationListener
in interfaceContext
- Parameters:
listener
- Java class name of the listener to be removed
-
removeApplicationParameter
Description copied from interface:Context
Remove the application parameter with the specified name from the set for this application.- Specified by:
removeApplicationParameter
in interfaceContext
- Parameters:
name
- Name of the application parameter to remove
-
removeChild
Description copied from interface:Container
Remove an existing child Container from association with this parent Container.- Specified by:
removeChild
in interfaceContainer
- Overrides:
removeChild
in classContainerBase
- Parameters:
child
- Existing child Container to be removed
-
removeConstraint
Description copied from interface:Context
Remove the specified security constraint from this web application.- Specified by:
removeConstraint
in interfaceContext
- Parameters:
constraint
- Constraint to be removed
-
removeErrorPage
Description copied from interface:Context
Remove the error page for the specified error code or Java language exception, if it exists; otherwise, no action is taken.- Specified by:
removeErrorPage
in interfaceContext
- Parameters:
errorPage
- The error page definition to be removed
-
removeFilterDef
Description copied from interface:Context
Remove the specified filter definition from this Context, if it exists; otherwise, no action is taken.- Specified by:
removeFilterDef
in interfaceContext
- Parameters:
filterDef
- Filter definition to be removed
-
removeFilterMap
Description copied from interface:Context
Remove a filter mapping from this Context.- Specified by:
removeFilterMap
in interfaceContext
- Parameters:
filterMap
- The filter mapping to be removed
-
removeMessageDestination
Remove any message destination with the specified name.- Parameters:
name
- Name of the message destination to remove
-
removeMessageDestinationRef
Deprecated.This will be removed in Tomcat 10. UsegetNamingResources()
insteadRemove any message destination ref with the specified name.- Parameters:
name
- Name of the message destination ref to remove
-
removeMimeMapping
Description copied from interface:Context
Remove the MIME mapping for the specified extension, if it exists; otherwise, no action is taken.- Specified by:
removeMimeMapping
in interfaceContext
- Parameters:
extension
- Extension to remove the mapping for
-
removeParameter
Description copied from interface:Context
Remove the context initialization parameter with the specified name, if it exists; otherwise, no action is taken.- Specified by:
removeParameter
in interfaceContext
- Parameters:
name
- Name of the parameter to remove
-
removeRoleMapping
Description copied from interface:Context
Remove any security role reference for the specified name- Specified by:
removeRoleMapping
in interfaceContext
- Parameters:
role
- Security role (as used in the application) to remove
-
removeSecurityRole
Description copied from interface:Context
Remove any security role with the specified name.- Specified by:
removeSecurityRole
in interfaceContext
- Parameters:
role
- Security role to remove
-
removeServletMapping
Description copied from interface:Context
Remove any servlet mapping for the specified pattern, if it exists; otherwise, no action is taken.- Specified by:
removeServletMapping
in interfaceContext
- Parameters:
pattern
- URL pattern of the mapping to remove
-
removeWatchedResource
Description copied from interface:Context
Remove the specified watched resource name from the list associated with this Context.- Specified by:
removeWatchedResource
in interfaceContext
- Parameters:
name
- Name of the watched resource to be removed
-
removeWelcomeFile
Description copied from interface:Context
Remove the specified welcome file name from the list recognized by this Context.- Specified by:
removeWelcomeFile
in interfaceContext
- Parameters:
name
- Name of the welcome file to be removed
-
removeWrapperLifecycle
Description copied from interface:Context
Remove a class name from the set of LifecycleListener classes that will be added to newly created Wrappers.- Specified by:
removeWrapperLifecycle
in interfaceContext
- Parameters:
listener
- Class name of a LifecycleListener class to be removed
-
removeWrapperListener
Description copied from interface:Context
Remove a class name from the set of ContainerListener classes that will be added to newly created Wrappers.- Specified by:
removeWrapperListener
in interfaceContext
- Parameters:
listener
- Class name of a ContainerListener class to be removed
-
getProcessingTime
public long getProcessingTime()Gets the cumulative processing times of all servlets in this StandardContext.- Returns:
- Cumulative processing times of all servlets in this StandardContext
-
getMaxTime
public long getMaxTime()Gets the maximum processing time of all servlets in this StandardContext.- Returns:
- Maximum processing time of all servlets in this StandardContext
-
getMinTime
public long getMinTime()Gets the minimum processing time of all servlets in this StandardContext.- Returns:
- Minimum processing time of all servlets in this StandardContext
-
getRequestCount
public int getRequestCount()Gets the cumulative request count of all servlets in this StandardContext.- Returns:
- Cumulative request count of all servlets in this StandardContext
-
getErrorCount
public int getErrorCount()Gets the cumulative error count of all servlets in this StandardContext.- Returns:
- Cumulative error count of all servlets in this StandardContext
-
getRealPath
- Specified by:
getRealPath
in interfaceContext
- Parameters:
path
- The path to the desired resource- Returns:
- the real path for a given virtual path, if possible; otherwise return
null
.
-
dynamicServletCreated
Hook to track which Servlets were created viaServletContext.createServlet(Class)
.- Parameters:
servlet
- the created Servlet
-
wasCreatedDynamicServlet
-
filterStart
public boolean filterStart()Configure and initialize the set of filters for this Context.- Returns:
true
if all filter initialization completed successfully, orfalse
otherwise.
-
filterStop
public boolean filterStop()Finalize and release the set of filters for this Context.- Returns:
true
if all filter finalization completed successfully, orfalse
otherwise.
-
findFilterConfig
Find and return the initializedFilterConfig
for the specified filter name, if any; otherwise returnnull
.- Parameters:
name
- Name of the desired filter- Returns:
- the filter config object
-
listenerStart
public boolean listenerStart()Configure the set of instantiated application event listeners for this Context.- Returns:
true
if all listeners wre initialized successfully, orfalse
otherwise.
-
listenerStop
public boolean listenerStop()Send an application stop event to all interested listeners.- Returns:
true
if all events were sent successfully, orfalse
otherwise.
-
resourcesStart
Allocate resources, including proxy.- Throws:
LifecycleException
- if a start error occurs
-
resourcesStop
public boolean resourcesStop()Deallocate resources and destroy proxy.- Returns:
true
if no error occurred
-
loadOnStartup
Load and initialize all servlets marked "load on startup" in the web application deployment descriptor.- Parameters:
children
- Array of wrappers for all currently defined servlets (including those not declared load on startup)- Returns:
true
if load on startup was considered successful
-
startInternal
Description copied from class:ContainerBase
Start this component and implement the requirements ofLifecycleBase.startInternal()
.- Overrides:
startInternal
in classContainerBase
- Throws:
LifecycleException
- if this component detects a fatal error that prevents this component from being used
-
createInstanceManager
Description copied from interface:Context
Factory method to create and return a new InstanceManager instance. This can be used for framework integration or easier configuration with custom Context implementations.- Specified by:
createInstanceManager
in interfaceContext
- Returns:
- the instance manager
-
stopInternal
Description copied from class:ContainerBase
Stop this component and implement the requirements ofLifecycleBase.stopInternal()
.- Overrides:
stopInternal
in classContainerBase
- Throws:
LifecycleException
- if this component detects a fatal error that prevents this component from being used
-
destroyInternal
Destroy needs to clean up the context completely. The problem is that undoing all the config in start() and restoring a 'fresh' state is impossible. After stop()/destroy()/init()/start() we should have the same state as if a fresh start was done - i.e read modified web.xml, etc. This can only be done by completely removing the context object and remapping a new one, or by cleaning up everything.- Overrides:
destroyInternal
in classContainerBase
- Throws:
LifecycleException
- If the destruction fails
-
backgroundProcess
public void backgroundProcess()Description copied from interface:Container
Execute a periodic task, such as reloading, etc. This method will be invoked inside the classloading context of this container. Unexpected throwables will be caught and logged.- Specified by:
backgroundProcess
in interfaceContainer
- Overrides:
backgroundProcess
in classContainerBase
-
adjustURLPattern
Adjust the URL pattern to begin with a leading slash, if appropriate (i.e. we are running a servlet 2.2 application). Otherwise, return the specified URL pattern unchanged.- Parameters:
urlPattern
- The URL pattern to be adjusted (if needed) and returned- Returns:
- the URL pattern with a leading slash if needed
-
isServlet22
public boolean isServlet22()Description copied from interface:Context
Is this context using version 2.2 of the Servlet spec?- Specified by:
isServlet22
in interfaceContext
- Returns:
true
for a legacy Servlet 2.2 webapp
-
addServletSecurity
public Set<String> addServletSecurity(ServletRegistration.Dynamic registration, ServletSecurityElement servletSecurityElement) Description copied from interface:Context
Notification that Servlet security has been dynamically set in aServletRegistration.Dynamic
- Specified by:
addServletSecurity
in interfaceContext
- Parameters:
registration
- Servlet security was modified forservletSecurityElement
- new security constraints for this Servlet- Returns:
- urls currently mapped to this registration that are already present in web.xml
-
bindThread
Bind current thread, both for CL purposes and for JNDI ENC support during : startup, shutdown and reloading of the context.- Returns:
- the previous context class loader
-
unbindThread
Unbind thread and restore the specified context classloader.- Parameters:
oldContextClassLoader
- the previous classloader
-
bind
Description copied from interface:ContextBind
Change the current thread context class loader to the web application class loader. If no web application class loader is defined, or if the current thread is already using the web application class loader then no change will be made. If the class loader is changed and aThreadBindingListener
is configured thenThreadBindingListener.bind()
will be called after the change has been made.- Specified by:
bind
in interfaceContextBind
- Parameters:
usePrivilegedAction
- Should aPrivilegedAction
be used when obtaining the current thread context class loader and setting the new one?originalClassLoader
- The current class loader if known to save this method having to look it up- Returns:
- If the class loader has been changed by the method it will return the thread context class loader in use when the method was called. If no change was made then this method returns null.
-
unbind
Description copied from interface:ContextBind
Restore the current thread context class loader to the original class loader in used beforeContextBind.bind(boolean, ClassLoader)
was called. If no original class loader is passed to this method then no change will be made. If the class loader is changed and aThreadBindingListener
is configured thenThreadBindingListener.unbind()
will be called before the change is made.- Specified by:
unbind
in interfaceContextBind
- Parameters:
usePrivilegedAction
- Should aPrivilegedAction
be used when setting the current thread context class loader?originalClassLoader
- The class loader to restore as the thread context class loader
-
getNamingContextListener
Naming context listener accessor.- Returns:
- the naming context listener associated with the webapp
-
setNamingContextListener
Naming context listener setter.- Parameters:
namingContextListener
- the new naming context listener
-
getPaused
public boolean getPaused()Description copied from interface:Context
Is this Context paused whilst it is reloaded? -
fireRequestInitEvent
Description copied from interface:Context
Notify allServletRequestListener
s that a request has started.- Specified by:
fireRequestInitEvent
in interfaceContext
- Parameters:
request
- The request object that will be passed to the listener- Returns:
true
if the listeners fire successfully, elsefalse
-
fireRequestDestroyEvent
Description copied from interface:Context
Notify allServletRequestListener
s that a request has ended.- Specified by:
fireRequestDestroyEvent
in interfaceContext
- Parameters:
request
- The request object that will be passed to the listener- Returns:
true
if the listeners fire successfully, elsefalse
-
addPostConstructMethod
Description copied from interface:Context
Add a post construct method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.- Specified by:
addPostConstructMethod
in interfaceContext
- Parameters:
clazz
- Fully qualified class namemethod
- Post construct method name
-
removePostConstructMethod
Description copied from interface:Context
Removes the post construct method definition for the given class, if it exists; otherwise, no action is taken.- Specified by:
removePostConstructMethod
in interfaceContext
- Parameters:
clazz
- Fully qualified class name
-
addPreDestroyMethod
Description copied from interface:Context
Add a pre destroy method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.- Specified by:
addPreDestroyMethod
in interfaceContext
- Parameters:
clazz
- Fully qualified class namemethod
- Post construct method name
-
removePreDestroyMethod
Description copied from interface:Context
Removes the pre destroy method definition for the given class, if it exists; otherwise, no action is taken.- Specified by:
removePreDestroyMethod
in interfaceContext
- Parameters:
clazz
- Fully qualified class name
-
findPostConstructMethod
Description copied from interface:Context
Returns the method name that is specified as post construct method for the given class, if it exists; otherwiseNULL
will be returned.- Specified by:
findPostConstructMethod
in interfaceContext
- Parameters:
clazz
- Fully qualified class name- Returns:
- the method name that is specified as post construct method for the given class, if it exists; otherwise
NULL
will be returned.
-
findPreDestroyMethod
Description copied from interface:Context
Returns the method name that is specified as pre destroy method for the given class, if it exists; otherwiseNULL
will be returned.- Specified by:
findPreDestroyMethod
in interfaceContext
- Parameters:
clazz
- Fully qualified class name- Returns:
- the method name that is specified as pre destroy method for the given class, if it exists; otherwise
NULL
will be returned.
-
findPostConstructMethods
Description copied from interface:Context
Returns a map with keys - fully qualified class names of the classes that have post construct methods and the values are the corresponding method names. If there are no such classes an empty map will be returned.- Specified by:
findPostConstructMethods
in interfaceContext
- Returns:
- a map with keys - fully qualified class names of the classes that have post construct methods and the values are the corresponding method names.
-
findPreDestroyMethods
Description copied from interface:Context
Returns a map with keys - fully qualified class names of the classes that have pre destroy methods and the values are the corresponding method names. If there are no such classes an empty map will be returned.- Specified by:
findPreDestroyMethods
in interfaceContext
- Returns:
- a map with keys - fully qualified class names of the classes that have pre destroy methods and the values are the corresponding method names.
-
postWorkDirectory
protected void postWorkDirectory()Set the appropriate context attribute for our work directory. -
getObjectNameKeyProperties
Description copied from class:LifecycleMBeanBase
Allow sub-classes to specify the key properties component of theObjectName
that will be used to register this component.- Specified by:
getObjectNameKeyProperties
in classLifecycleMBeanBase
- Returns:
- The string representation of the key properties component of the desired
ObjectName
-
initInternal
Description copied from class:LifecycleBase
Sub-classes implement this method to perform any instance initialisation required.- Overrides:
initInternal
in classLifecycleMBeanBase
- Throws:
LifecycleException
- If the initialisation fails
-
removeNotificationListener
public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object object) throws ListenerNotFoundException - Specified by:
removeNotificationListener
in interfaceNotificationEmitter
- Throws:
ListenerNotFoundException
-
getNotificationInfo
- Specified by:
getNotificationInfo
in interfaceNotificationBroadcaster
-
addNotificationListener
public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object object) throws IllegalArgumentException - Specified by:
addNotificationListener
in interfaceNotificationBroadcaster
- Throws:
IllegalArgumentException
-
removeNotificationListener
public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException - Specified by:
removeNotificationListener
in interfaceNotificationBroadcaster
- Throws:
ListenerNotFoundException
-
getWelcomeFiles
- Returns:
- the naming resources associated with this web application.
-
getXmlNamespaceAware
public boolean getXmlNamespaceAware()Description copied from interface:Context
Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a namespace aware parser?- Specified by:
getXmlNamespaceAware
in interfaceContext
- Returns:
- true if namespace awareness is enabled.
-
setXmlNamespaceAware
public void setXmlNamespaceAware(boolean webXmlNamespaceAware) Description copied from interface:Context
Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a namespace aware parser.- Specified by:
setXmlNamespaceAware
in interfaceContext
- Parameters:
webXmlNamespaceAware
- true to enable namespace awareness
-
setXmlValidation
public void setXmlValidation(boolean webXmlValidation) Description copied from interface:Context
Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a validating parser.- Specified by:
setXmlValidation
in interfaceContext
- Parameters:
webXmlValidation
- true to enable xml validation
-
getXmlValidation
public boolean getXmlValidation()Description copied from interface:Context
Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a validating parser?- Specified by:
getXmlValidation
in interfaceContext
- Returns:
- true if validation is enabled.
-
setXmlBlockExternal
public void setXmlBlockExternal(boolean xmlBlockExternal) Description copied from interface:Context
Controls whether the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context will block the use of external entities.- Specified by:
setXmlBlockExternal
in interfaceContext
- Parameters:
xmlBlockExternal
- true to block external entities
-
getXmlBlockExternal
public boolean getXmlBlockExternal()Description copied from interface:Context
Will the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context block the use of external entities?- Specified by:
getXmlBlockExternal
in interfaceContext
- Returns:
- true if access to external entities is blocked
-
setTldValidation
public void setTldValidation(boolean tldValidation) Description copied from interface:Context
Controls whether the parsing of *.tld files for this Context will be performed by a validating parser.- Specified by:
setTldValidation
in interfaceContext
- Parameters:
tldValidation
- true to enable xml validation
-
getTldValidation
public boolean getTldValidation()Description copied from interface:Context
Will the parsing of *.tld files for this Context be performed by a validating parser?- Specified by:
getTldValidation
in interfaceContext
- Returns:
- true if validation is enabled.
-
getServer
-
setServer
-
getJavaVMs
Deprecated.Unused. Will be removed in Tomcat 10.1.Unused.- Returns:
- The current array.
-
setJavaVMs
Deprecated.Unused. Will be removed in Tomcat 10.1.Unused.- Parameters:
javaVMs
- The new value for the array.- Returns:
- The new value for the array.
-
getStartTime
public long getStartTime()Gets the time this context was started.- Returns:
- Time (in milliseconds since January 1, 1970, 00:00:00) when this context was started
-