# Class StandardContext

java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.core.ContainerBase
org.apache.catalina.core.StandardContext

All Implemented Interfaces:
  `MBeanRegistration, NotificationBroadcaster, NotificationEmitter, Container, Context, JmxEnabled, Lifecycle, ContextBind`

Direct Known Subclasses:
  `ReplicatedContext`

public class StandardContext extends ContainerBase implements Context, NotificationEmitter
Standard implementation of the Context interface. Each child container must be a Wrapper implementation to process the requests directed to a particular servlet.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class ContainerBase

  `ContainerBase.ContainerBackgroundProcessor, ContainerBase.ContainerBackgroundProcessorMonitor, ContainerBase.PrivilegedAddChild`

  ### Nested classes/interfaces inherited from interface Lifecycle

  `Lifecycle.SingleUse`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected boolean`
  `allowCasualMultipartParsing`
  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`
  `context`
  The ServletContext implementation associated with this Context.
  `protected static final ThreadBindingListener`
  `DEFAULT_NAMING_LISTENER`
  Default no-op naming listener used when no custom ThreadBindingListener is configured.
  `protected Manager`
  `manager`
  The Manager implementation with which this Container is associated.
  `protected ThreadBindingListener`
  `threadBindingListener`
  Listener for thread binding operations during naming context management.

  ### Fields inherited from class ContainerBase

  `accessLog, backgroundProcessorDelay, backgroundProcessorFuture, children, cluster, listeners, logger, logName, monitorFuture, name, parent, parentClassLoader, pipeline, sm, startChildren, startStopExecutor, support`

  ### Fields inherited from interface Container

  `ADD_CHILD_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_VALVE_EVENT`

  ### Fields inherited from interface Context

  `ADD_WELCOME_FILE_EVENT, CHANGE_SESSION_ID_EVENT, CLEAR_WELCOME_FILES_EVENT, REMOVE_WELCOME_FILE_EVENT, WEBAPP_PROTOCOL`

  ### Fields inherited from interface 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

  Constructors
  Constructor
  Description
  `StandardContext()`
  Create a new StandardContext component with the default basic Valve.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `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`
  `addChild(Container child)`
  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`
  `addMessageDestination(MessageDestination md)`
  Add a message destination for this web application.
  `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.
  `Set<String>`
  `addServletSecurity(ServletRegistration.Dynamic registration, ServletSecurityElement servletSecurityElement)`
  Notification that Servlet security has been dynamically set in a `ServletRegistration.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`
  `backgroundProcess()`
  Execute a periodic task, such as reloading, etc.
  `ClassLoader`
  `bind(boolean usePrivilegedAction, ClassLoader originalClassLoader)`
  Change the current thread context class loader to the web application class loader.
  `protected ClassLoader`
  `bindThread()`
  Bind current thread, both for CL purposes and for JNDI ENC support during : startup, shutdown and reloading of the context.
  `InstanceManager`
  `createInstanceManager()`
  Factory method to create and return a new InstanceManager instance.
  `Wrapper`
  `createWrapper()`
  Factory method to create and return a new Wrapper instance, of the Java implementation class appropriate for this Context implementation.
  `void`
  `decrementInProgressAsyncCount()`
  Decrement the count of in-progress async requests.
  `protected void`
  `destroyInternal()`
  Destroy needs to clean up the context completely.
  `void`
  `dynamicServletCreated(Servlet servlet)`
  Hook to track which Servlets were created via `ServletContext.createServlet(Class)`.
  `boolean`
  `filterStart()`
  Configure and initialize the set of filters for this Context.
  `boolean`
  `filterStop()`
  Finalize and release the set of filters for this Context.
  `String[]`
  `findApplicationListeners()`
  Returns the array of application listener class names configured for this application.
  `ApplicationParameter[]`
  `findApplicationParameters()`
  Returns the array of application parameters for this application.
  `SecurityConstraint[]`
  `findConstraints()`
  Returns the array of security constraints for this web application.
  `ErrorPage`
  `findErrorPage(int errorCode)`
  Returns the error page entry for the specified HTTP error code.
  `ErrorPage`
  `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.
  `ErrorPage[]`
  `findErrorPages()`
  Returns the array of defined error pages for all specified error codes and exception types.
  `FilterConfig`
  `findFilterConfig(String name)`
  Find and return the initialized `FilterConfig` for the specified filter name, if any; otherwise return `null`.
  `FilterDef`
  `findFilterDef(String filterName)`
  Returns the filter definition for the specified filter name.
  `FilterDef[]`
  `findFilterDefs()`
  Returns the array of defined filters for this Context.
  `FilterMap[]`
  `findFilterMaps()`
  Returns the array of filter mappings for this Context.
  `MessageDestination`
  `findMessageDestination(String name)`
  Return the message destination with the specified name, if any; otherwise, return `null`.
  `MessageDestination[]`
  `findMessageDestinations()`
  Return the array of defined message destinations for this web application.
  `String`
  `findMimeMapping(String extension)`
  Returns the MIME type to which the specified extension is mapped.
  `String[]`
  `findMimeMappings()`
  Returns the extensions for which MIME mappings are defined.
  `String`
  `findParameter(String name)`
  Returns the value for the specified context initialization parameter name.
  `String[]`
  `findParameters()`
  Returns the names of all defined context initialization parameters for this Context.
  `String`
  `findPostConstructMethod(String clazz)`
  Returns the method name that is specified as post construct method for the given class, if it exists; otherwise `NULL` will be returned.
  `Map<String,String>`
  `findPostConstructMethods()`
  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.
  `String`
  `findPreDestroyMethod(String clazz)`
  Returns the method name that is specified as pre destroy method for the given class, if it exists; otherwise `NULL` will be returned.
  `Map<String,String>`
  `findPreDestroyMethods()`
  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.
  `String`
  `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)`
  Checks if the specified security role is defined for this application.
  `String[]`
  `findSecurityRoles()`
  Returns the security roles defined for this application.
  `String`
  `findServletMapping(String pattern)`
  Returns the servlet name mapped by the specified pattern.
  `String[]`
  `findServletMappings()`
  Returns the patterns of all defined servlet mappings for this Context.
  `String[]`
  `findWatchedResources()`
  Returns the array of watched resources for this Context.
  `boolean`
  `findWelcomeFile(String name)`
  Checks if the specified welcome file is defined for this Context.
  `String[]`
  `findWelcomeFiles()`
  Returns the array of welcome files defined for this Context.
  `String[]`
  `findWrapperLifecycles()`
  Returns the array of LifecycleListener classes that will be added to newly created Wrappers automatically.
  `String[]`
  `findWrapperListeners()`
  Returns the array of ContainerListener classes that will be added to newly created Wrappers automatically.
  `boolean`
  `fireRequestDestroyEvent(ServletRequest request)`
  Notify all `ServletRequestListener`s that a request has ended.
  `boolean`
  `fireRequestInitEvent(ServletRequest request)`
  Notify all `ServletRequestListener`s that a request has started.
  `boolean`
  `getAddWebinfClassesResources()`
  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.
  `boolean`
  `getAllowCasualMultipartParsing()`
  Returns `true` if requests mapped to servlets without "multipart config" to parse multipart/form-data requests anyway.
  `boolean`
  `getAllowMultipleLeadingForwardSlashInPath()`
  When returning a context path from `HttpServletRequest.getContextPath()`, is it allowed to contain multiple leading '/' characters?
  `String`
  `getAltDDName()`
  Return the alternate Deployment Descriptor name.
  `boolean`
  `getAlwaysAccessSession()`
  If this is `true`, every request that is associated with a session will cause the session's last accessed time to be updated regardless of whether or not the request explicitly accesses the session.
  `boolean`
  `getAntiResourceLocking()`
  Return the anti-resource-locking flag for this context.
  `Object[]`
  `getApplicationEventListeners()`
  Obtain the registered application event listeners.
  `Object[]`
  `getApplicationLifecycleListeners()`
  Obtain the registered application lifecycle listeners.
  `Authenticator`
  `getAuthenticator()`
  Returns the Authenticator used by this context for handling authentication.
  `String`
  `getBaseName()`
  Returns the base name to use for WARs, directories or context.xml files for this context.
  `String`
  `getCharset(Locale locale)`
  Obtain the character set name to use with the given Locale.
  `CharsetMapper`
  `getCharsetMapper()`
  Return the locale to character set mapper for this context.
  `String`
  `getCharsetMapperClass()`
  Return the locale to character set mapper class for this context.
  `boolean`
  `getClearReferencesHttpClientKeepAliveThread()`
  Return the clearReferencesHttpClientKeepAliveThread flag for this context.
  `boolean`
  `getClearReferencesObjectStreamClassCaches()`
  `boolean`
  `getClearReferencesRmiTargets()`
  Returns whether RMI targets should be cleared during stop to prevent memory leaks.
  `boolean`
  `getClearReferencesStopThreads()`
  Return the clearReferencesStopThreads flag for this context.
  `boolean`
  `getClearReferencesStopTimerThreads()`
  Return the clearReferencesStopTimerThreads flag for this context.
  `boolean`
  `getClearReferencesThreadLocals()`
  Returns whether ThreadLocal references should be cleared during stop to prevent memory leaks.
  `protected boolean`
  `getComputedFailCtxIfServletStartFails()`
  Returns the computed value of failCtxIfServletStartFails, inheriting from parent Host if not explicitly set.
  `URL`
  `getConfigFile()`
  Return the URL of the XML descriptor for this context.
  `boolean`
  `getConfigured()`
  Return the "correctly configured" flag for this Context.
  `String`
  `getContainerSciFilter()`
  Obtains the regular expression that specifies which container provided SCIs should be filtered out and not used for this context.
  `boolean`
  `getContextGetResourceRequiresSlash()`
  If this is `true` then the path passed to `ServletContext.getResource()` or `ServletContext.getResourceAsStream()` must start with "/".
  `CookieProcessor`
  `getCookieProcessor()`
  Returns the `CookieProcessor` that will be used to process cookies for this Context.
  `boolean`
  `getCookies()`
  Return the "use cookies for session ids" flag.
  `boolean`
  `getCopyXML()`
  Flag which indicates if bundled context.xml files should be copied to the config folder.
  `boolean`
  `getCreateUploadTargets()`
  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`
  `getCrossContext()`
  Return the "allow crossing servlet contexts" flag.
  `String`
  `getDefaultContextXml()`
  Returns the location of the default context XML.
  `String`
  `getDefaultWebXml()`
  Returns the location of the default web XML.
  `boolean`
  `getDelegate()`
  Return the "follow standard delegation model" flag used to configure our ClassLoader.
  `boolean`
  `getDenyUncoveredHttpMethods()`
  Return the deny-uncovered-http-methods flag for this web application.
  `boolean`
  `getDispatchersUseEncodedPaths()`
  Are paths used in calls to obtain a request dispatcher expected to be encoded?
  `boolean`
  `getDispatcherWrapsSameObject()`
  If this is `true` then any wrapped request or response object passed to an application dispatcher will be checked to ensure that it has wrapped the original request or response.
  `String`
  `getDisplayName()`
  Return the display name of this web application.
  `boolean`
  `getDistributable()`
  Get the distributable flag for this web application.
  `String`
  `getDocBase()`
  Obtain the document root for this Context.
  `int`
  `getEffectiveMajorVersion()`
  Returns the effective major version of the Servlet spec used by this context.
  `int`
  `getEffectiveMinorVersion()`
  Returns the effective minor version of the Servlet spec used by this context.
  `String`
  `getEncodedPath()`
  Return the URL encoded context path
  `String`
  `getEncodedReverseSolidusHandling()`
  Obtain the current configuration for the handling of encoded reverse solidus (%5c - \) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
  `EncodedSolidusHandling`
  `getEncodedReverseSolidusHandlingEnum()`
  Obtain the current configuration for the handling of encoded reverse solidus (%5c - \) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
  `String`
  `getEncodedSolidusHandling()`
  Obtain the current configuration for the handling of encoded solidus (%2f - /) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
  `EncodedSolidusHandling`
  `getEncodedSolidusHandlingEnum()`
  Obtain the current configuration for the handling of encoded solidus (%2f - /) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
  `int`
  `getErrorCount()`
  Deprecated.
  The return type will change to long in Tomcat 11 onwards.
  `Boolean`
  `getFailCtxIfServletStartFails()`
  Returns whether the context should fail if a servlet fails to start.
  `boolean`
  `getFireRequestListenersOnForwards()`
  Returns whether or not request listeners will be fired on forwards for this Context.
  `boolean`
  `getIgnoreAnnotations()`
  Determine if annotations parsing is currently disabled
  `long`
  `getInProgressAsyncCount()`
  Returns the number of in-progress async requests.
  `InstanceManager`
  `getInstanceManager()`
  Returns the instance manager associated with this context.
  `String`
  `getJ2EEApplication()`
  Returns the J2EE Application ObjectName this module belongs to.
  `String`
  `getJ2EEServer()`
  Returns the J2EE Server ObjectName this module is deployed on.
  `JarScanner`
  `getJarScanner()`
  Get the Jar Scanner to be used to scan for JAR resources for this context.
  `boolean`
  `getJndiExceptionOnFailedWrite()`
  Return whether an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.
  `JspConfigDescriptor`
  `getJspConfigDescriptor()`
  Returns the JSP configuration for this context.
  `Loader`
  `getLoader()`
  Returns the Loader with which this Context is associated.
  `boolean`
  `getLogEffectiveWebXml()`
  Should the effective web.xml for this context be logged on context start?
  `LoginConfig`
  `getLoginConfig()`
  Returns the login configuration descriptor for this web application.
  `Manager`
  `getManager()`
  Returns the Manager with which this Context is associated.
  `boolean`
  `getMapperContextRootRedirectEnabled()`
  Determines if requests for a web application context root will be redirected (adding a trailing slash) by the Mapper.
  `boolean`
  `getMapperDirectoryRedirectEnabled()`
  Determines if requests for a directory will be redirected (adding a trailing slash) by the Mapper.
  `long`
  `getMaxTime()`
  Gets the maximum processing time of all servlets in this StandardContext.
  `long`
  `getMinTime()`
  Gets the minimum processing time of all servlets in this StandardContext.
  `NamingContextListener`
  `getNamingContextListener()`
  Naming context listener accessor.
  `NamingResourcesImpl`
  `getNamingResources()`
  Returns the naming resources associated with this web application.
  `Object`
  `getNamingToken()`
  Returns the token necessary for operations on the associated JNDI naming context.
  `int`
  `getNotFoundClassResourceCacheSize()`
  Returns the size of the cache for not-found class resources.
  `MBeanNotificationInfo[]`
  `getNotificationInfo()`
  `protected String`
  `getObjectNameKeyProperties()`
  Allow subclasses to specify the key properties component of the `ObjectName` that will be used to register this component.
  `String`
  `getOriginalDocBase()`
  Return the original document root for this context.
  `boolean`
  `getOverride()`
  Returns whether the container's default web.xml should be overridden by this web application's web.xml.
  `boolean`
  `getParallelAnnotationScanning()`
  `ClassLoader`
  `getParentClassLoader()`
  Get the parent class loader.
  `String`
  `getPath()`
  Returns the context path for this web application.
  `boolean`
  `getPaused()`
  Is this Context paused whilst it is reloaded?
  `boolean`
  `getPreemptiveAuthentication()`
  Returns whether the context will process authentication credentials when the request is for a non-protected resource.
  `boolean`
  `getPrivileged()`
  Returns whether this web application is privileged and can access container internals.
  `long`
  `getProcessingTime()`
  Gets the cumulative processing times of all servlets in this StandardContext.
  `String`
  `getPublicId()`
  Returns the public identifier of the deployment descriptor DTD that is currently being parsed.
  `String`
  `getRealPath(String path)`
  Returns the real path for a given virtual path.
  `boolean`
  `getReloadable()`
  Returns whether automatic reloading is enabled for this web application.
  `boolean`
  `getRenewThreadsWhenStoppingContext()`
  Returns whether threads should be renewed when stopping the context.
  `String`
  `getRequestCharacterEncoding()`
  Get the default request body encoding for this web application.
  `int`
  `getRequestCount()`
  Deprecated.
  The return type will change to long in Tomcat 11 onwards.
  `String`
  `getResourceOnlyServlets()`
  Obtains the list of Servlets that expect a resource to be present.
  `WebResourceRoot`
  `getResources()`
  Returns the Resources with which this Context is associated.
  `String`
  `getResponseCharacterEncoding()`
  Get the default response body encoding for this web application.
  `boolean`
  `getSendRedirectBody()`
  Returns whether the context is configured to include a response body as part of a redirect response.
  `String`
  `getServer()`
  Returns the J2EE Server ObjectName this module is deployed on.
  `ServletContext`
  `getServletContext()`
  Returns the ServletContext instance for which this Context acts as a facade.
  `String`
  `getSessionCookieDomain()`
  Gets the domain to use for session cookies.
  `String`
  `getSessionCookieName()`
  Gets the name to use for session cookies.
  `String`
  `getSessionCookiePath()`
  Gets the path to use for session cookies.
  `boolean`
  `getSessionCookiePathUsesTrailingSlash()`
  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`
  `getSessionTimeout()`
  Returns the default session timeout in minutes for this web application.
  `boolean`
  `getSkipMemoryLeakChecksOnJvmShutdown()`
  Returns whether memory leak checks should be skipped on JVM shutdown.
  `long`
  `getStartTime()`
  Gets the time this context was started.
  `long`
  `getStartupTime()`
  Gets the time (in milliseconds) it took to start this context.
  `boolean`
  `getSuspendWrappedResponseAfterForward()`
  If this is `true`, then following a forward the response will be unwrapped to suspend the Catalina response instead of simply closing the top level response.
  `boolean`
  `getSwallowAbortedUploads()`
  Returns `true` if remaining request data will be read (swallowed) even the request violates a data size constraint.
  `boolean`
  `getSwallowOutput()`
  Returns whether stdout and stderr are redirected to the logger during servlet execution.
  `ThreadBindingListener`
  `getThreadBindingListener()`
  Returns the associated ThreadBindingListener.
  `long`
  `getTldScanTime()`
  Gets the time (in milliseconds) spent scanning TLDs during startup.
  `boolean`
  `getTldValidation()`
  Will the parsing of *.tld files for this Context be performed by a validating parser?
  `long`
  `getUnloadDelay()`
  Return the value of the unload delay flag.
  `boolean`
  `getUnpackWAR()`
  Return the unpack WAR flag.
  `boolean`
  `getUseBloomFilterForArchives()`
  Deprecated.
  `boolean`
  `getUseHttpOnly()`
  Gets the value of the use HttpOnly cookies for session cookies flag.
  `boolean`
  `getUsePartitioned()`
  Should the `Partitioned` attribute be added to session cookies created for this web application.
  `boolean`
  `getUseRelativeRedirects()`
  Will HTTP 1.1 and later location headers generated by a call to `HttpServletResponse.sendRedirect(String)` use relative or absolute redirects.
  `boolean`
  `getValidateClientProvidedNewSessionId()`
  Will client provided session IDs be validated (see `Context.setValidateClientProvidedNewSessionId(boolean)`) before use?
  `String`
  `getWebappVersion()`
  Returns the version of this web application, used to differentiate different versions of the same web application when using parallel deployment.
  `String[]`
  `getWelcomeFiles()`
  Return the welcome files for this web application.
  `String`
  `getWorkDir()`
  Return the work directory for this context.
  `String`
  `getWorkPath()`
  Get the absolute path to the work dir.
  `String`
  `getWrapperClass()`
  Returns the Java class name of the Wrapper implementation used for servlets in this Context.
  `boolean`
  `getXmlBlockExternal()`
  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`
  `getXmlNamespaceAware()`
  Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a namespace aware parser?
  `boolean`
  `getXmlValidation()`
  Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a validating parser?
  `void`
  `incrementInProgressAsyncCount()`
  Increment the count of in-progress async requests.
  `protected void`
  `initInternal()`
  Subclasses 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`
  `isServlet22()`
  Is this context using version 2.2 of the Servlet spec?
  `boolean`
  `isUseNaming()`
  Check if internal naming support is used.
  `boolean`
  `listenerStart()`
  Configure the set of instantiated application event listeners for this Context.
  `boolean`
  `listenerStop()`
  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`
  `postWorkDirectory()`
  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`
  `removeApplicationParameter(String name)`
  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`
  `removeMessageDestination(String name)`
  Remove any message destination with the specified name.
  `void`
  `removeMimeMapping(String extension)`
  Remove the MIME mapping for the specified extension, if it exists; otherwise, no action is taken.
  `void`
  `removeNotificationListener(NotificationListener listener)`
  `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 name
  `void`
  `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`
  `resourcesStart()`
  Allocate resources, including proxy.
  `boolean`
  `resourcesStop()`
  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 to `true` 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 from `HttpServletRequest.getContextPath()`, the return value is allowed to contain multiple leading '/' characters.
  `void`
  `setAltDDName(String altDDName)`
  Set an alternate Deployment Descriptor name.
  `void`
  `setAlwaysAccessSession(boolean alwaysAccessSession)`
  Set the session access behavior.
  `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)`
  Sets whether RMI targets should be cleared during stop to prevent memory leaks.
  `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)`
  Sets whether ThreadLocal references should be cleared during stop to prevent memory leaks.
  `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`
  `setContextGetResourceRequiresSlash(boolean contextGetResourceRequiresSlash)`
  Allow using `ServletContext.getResource()` or `ServletContext.getResourceAsStream()` without a leading "/".
  `void`
  `setCookieProcessor(CookieProcessor cookieProcessor)`
  Sets the `CookieProcessor` 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`
  `setDispatcherWrapsSameObject(boolean dispatcherWrapsSameObject)`
  Allow disabling the object wrap check in the request dispatcher.
  `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`
  `setEncodedReverseSolidusHandling(String encodedReverseSolidusHandling)`
  Configure the handling for encoded reverse solidus (%5c - \) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
  `void`
  `setEncodedSolidusHandling(String encodedSolidusHandling)`
  Configure the handling for encoded solidus (%2f - /) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
  `void`
  `setFailCtxIfServletStartFails(Boolean failCtxIfServletStartFails)`
  Sets whether the context should fail if a servlet fails to start.
  `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)`
  Sets the J2EE Application ObjectName this module belongs to.
  `void`
  `setJ2EEServer(String j2EEServer)`
  Sets the J2EE Server ObjectName this module is deployed on.
  `void`
  `setJarScanner(JarScanner jarScanner)`
  Set the Jar Scanner to be used to scan for JAR resources for this context.
  `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`
  `setLoader(Loader loader)`
  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)`
  Sets the size of the cache for not-found class resources.
  `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`
  `setPath(String path)`
  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)`
  Sets whether threads should be renewed when stopping the context.
  `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.
  `String`
  `setServer(String server)`
  Sets the J2EE Server ObjectName this module is deployed on.
  `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)`
  Sets whether memory leak checks should be skipped on JVM shutdown.
  `void`
  `setStartupTime(long startupTime)`
  Sets the time (in milliseconds) it took to start this context.
  `void`
  `setSuspendWrappedResponseAfterForward(boolean suspendWrappedResponseAfterForward)`
  Allows unwrapping the response object to suspend the response following a forward.
  `void`
  `setSwallowAbortedUploads(boolean swallowAbortedUploads)`
  Set to `false` 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)`
  Sets the time (in milliseconds) spent scanning TLDs during startup.
  `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`
  `setUsePartitioned(boolean usePartitioned)`
  Configure whether the `Partitioned` attribute should be added to session cookies created for this web application.
  `void`
  `setUseRelativeRedirects(boolean useRelativeRedirects)`
  Controls whether HTTP 1.1 and later location headers generated by a call to `HttpServletResponse.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`
  `startInternal()`
  Start this component and implement the requirements of `LifecycleBase.startInternal()`.
  `protected void`
  `stopInternal()`
  Stop this component and implement the requirements of `LifecycleBase.stopInternal()`.
  `void`
  `unbind(boolean usePrivilegedAction, ClassLoader originalClassLoader)`
  Restore the current thread context class loader to the original class loader in used before `ContextBind.bind(boolean, ClassLoader)` was called.
  `protected void`
  `unbindThread(ClassLoader oldContextClassLoader)`
  Unbind thread and restore the specified context classloader.
  `boolean`
  `wasCreatedDynamicServlet(Servlet servlet)`
  Checks whether the given servlet was dynamically created by this context.

  ### Methods inherited from class 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 LifecycleMBeanBase

  `getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister`

  ### Methods inherited from class LifecycleBase

  `addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface 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 Context

  `addServletMappingDecoded, findConfigFileResource, isParallelAnnotationScanning`

  ### Methods inherited from interface Lifecycle

  `addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop`

- ## Field Details

  - ### allowCasualMultipartParsing

    protected boolean allowCasualMultipartParsing
    Allow multipart/form-data requests to be parsed even when the target servlet doesn't specify @MultipartConfig or have a <multipart-config> element.

  - ### context

    protected volatile ApplicationContext context
    The ServletContext implementation associated with this Context.

  - ### manager

    protected Manager manager
    The Manager implementation with which this Container is associated.

  - ### DEFAULT_NAMING_LISTENER

    protected static final ThreadBindingListener DEFAULT_NAMING_LISTENER
    Default no-op naming listener used when no custom ThreadBindingListener is configured.

  - ### threadBindingListener

    protected ThreadBindingListener threadBindingListener
    Listener for thread binding operations during naming context management.

- ## Constructor Details

  - ### StandardContext

    public StandardContext()
    Create a new StandardContext component with the default basic Valve.

- ## Method Details

  - ### getEncodedReverseSolidusHandling

    public String getEncodedReverseSolidusHandling()
    Description copied from interface: `Context`
    Obtain the current configuration for the handling of encoded reverse solidus (%5c - \) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
    Specified by:
      `getEncodedReverseSolidusHandling` in interface `Context`
    Returns:
      Obtain the current configuration for the handling of encoded reverse solidus characters

  - ### setEncodedReverseSolidusHandling

    public void setEncodedReverseSolidusHandling(String encodedReverseSolidusHandling)
    Description copied from interface: `Context`
    Configure the handling for encoded reverse solidus (%5c - \) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
    Specified by:
      `setEncodedReverseSolidusHandling` in interface `Context`
    Parameters:
      `encodedReverseSolidusHandling` - One of the values of `EncodedSolidusHandling`

  - ### getEncodedReverseSolidusHandlingEnum

    public EncodedSolidusHandling getEncodedReverseSolidusHandlingEnum()
    Description copied from interface: `Context`
    Obtain the current configuration for the handling of encoded reverse solidus (%5c - \) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
    Specified by:
      `getEncodedReverseSolidusHandlingEnum` in interface `Context`
    Returns:
      Obtain the current configuration for the handling of encoded reverse solidus characters

  - ### getEncodedSolidusHandling

    public String getEncodedSolidusHandling()
    Description copied from interface: `Context`
    Obtain the current configuration for the handling of encoded solidus (%2f - /) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
    Specified by:
      `getEncodedSolidusHandling` in interface `Context`
    Returns:
      Obtain the current configuration for the handling of encoded solidus characters

  - ### setEncodedSolidusHandling

    public void setEncodedSolidusHandling(String encodedSolidusHandling)
    Description copied from interface: `Context`
    Configure the handling for encoded solidus (%2f - /) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
    Specified by:
      `setEncodedSolidusHandling` in interface `Context`
    Parameters:
      `encodedSolidusHandling` - One of the values of `EncodedSolidusHandling`

  - ### getEncodedSolidusHandlingEnum

    public EncodedSolidusHandling getEncodedSolidusHandlingEnum()
    Description copied from interface: `Context`
    Obtain the current configuration for the handling of encoded solidus (%2f - /) characters in paths used to obtain `RequestDispatcher` instances for this `Context`.
    Specified by:
      `getEncodedSolidusHandlingEnum` in interface `Context`
    Returns:
      Obtain the current configuration for the handling of encoded solidus characters

  - ### getNotFoundClassResourceCacheSize

    public int getNotFoundClassResourceCacheSize()
    Returns the size of the cache for not-found class resources.
    Returns:
      The cache size

  - ### setNotFoundClassResourceCacheSize

    public void setNotFoundClassResourceCacheSize(int notFoundClassResourceCacheSize)
    Sets the size of the cache for not-found class resources.
    Parameters:
      `notFoundClassResourceCacheSize` - The cache size

  - ### 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 interface `Context`
    Parameters:
      `createUploadTargets` - `true` if Tomcat should attempt to create the upload target, otherwise `false`

  - ### 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 interface `Context`
    Returns:
      `true` if Tomcat will attempt to create an upload target otherwise `false`

  - ### incrementInProgressAsyncCount

    public void incrementInProgressAsyncCount()
    Description copied from interface: `Context`
    Increment the count of in-progress async requests.
    Specified by:
      `incrementInProgressAsyncCount` in interface `Context`

  - ### decrementInProgressAsyncCount

    public void decrementInProgressAsyncCount()
    Description copied from interface: `Context`
    Decrement the count of in-progress async requests.
    Specified by:
      `decrementInProgressAsyncCount` in interface `Context`

  - ### getInProgressAsyncCount

    public long getInProgressAsyncCount()
    Returns the number of in-progress async requests.
    Returns:
      The count of in-progress async requests

  - ### setAllowMultipleLeadingForwardSlashInPath

    public void setAllowMultipleLeadingForwardSlashInPath(boolean allowMultipleLeadingForwardSlashInPath)
    Description copied from interface: `Context`
    Configure if, when returning a context path from `HttpServletRequest.getContextPath()`, the return value is allowed to contain multiple leading '/' characters.
    Specified by:
      `setAllowMultipleLeadingForwardSlashInPath` in interface `Context`
    Parameters:
      `allowMultipleLeadingForwardSlashInPath` - The new value for the flag

  - ### getAllowMultipleLeadingForwardSlashInPath

    public boolean getAllowMultipleLeadingForwardSlashInPath()
    Description copied from interface: `Context`
    When returning a context path from `HttpServletRequest.getContextPath()`, is it allowed to contain multiple leading '/' characters?
    Specified by:
      `getAllowMultipleLeadingForwardSlashInPath` in interface `Context`
    Returns:
      `true` if multiple leading '/' characters are allowed, otherwise `false`

  - ### getAlwaysAccessSession

    public boolean getAlwaysAccessSession()
    Description copied from interface: `Context`
    If this is `true`, every request that is associated with a session will cause the session's last accessed time to be updated regardless of whether or not the request explicitly accesses the session. If `org.apache.catalina.STRICT_SERVLET_COMPLIANCE` is set to `true`, the default of this setting will be `true`, else the default value will be `false`.
    Specified by:
      `getAlwaysAccessSession` in interface `Context`
    Returns:
      the flag value

  - ### setAlwaysAccessSession

    public void setAlwaysAccessSession(boolean alwaysAccessSession)
    Description copied from interface: `Context`
    Set the session access behavior.
    Specified by:
      `setAlwaysAccessSession` in interface `Context`
    Parameters:
      `alwaysAccessSession` - the new flag value

  - ### getContextGetResourceRequiresSlash

    public boolean getContextGetResourceRequiresSlash()
    Description copied from interface: `Context`
    If this is `true` then the path passed to `ServletContext.getResource()` or `ServletContext.getResourceAsStream()` must start with "/". If `false`, code like `getResource("myfolder/myresource.txt")` will work as Tomcat will prepend "/" to the provided path. If `org.apache.catalina.STRICT_SERVLET_COMPLIANCE` is set to `true`, the default of this setting will be `true`, else the default value will be `false`.
    Specified by:
      `getContextGetResourceRequiresSlash` in interface `Context`
    Returns:
      the flag value

  - ### setContextGetResourceRequiresSlash

    public void setContextGetResourceRequiresSlash(boolean contextGetResourceRequiresSlash)
    Description copied from interface: `Context`
    Allow using `ServletContext.getResource()` or `ServletContext.getResourceAsStream()` without a leading "/".
    Specified by:
      `setContextGetResourceRequiresSlash` in interface `Context`
    Parameters:
      `contextGetResourceRequiresSlash` - the new flag value

  - ### getDispatcherWrapsSameObject

    public boolean getDispatcherWrapsSameObject()
    Description copied from interface: `Context`
    If this is `true` then any wrapped request or response object passed to an application dispatcher will be checked to ensure that it has wrapped the original request or response. If `org.apache.catalina.STRICT_SERVLET_COMPLIANCE` is set to `true`, the default of this setting will be `true`, else the default value will be `false`.
    Specified by:
      `getDispatcherWrapsSameObject` in interface `Context`
    Returns:
      the flag value

  - ### setDispatcherWrapsSameObject

    public void setDispatcherWrapsSameObject(boolean dispatcherWrapsSameObject)
    Description copied from interface: `Context`
    Allow disabling the object wrap check in the request dispatcher.
    Specified by:
      `setDispatcherWrapsSameObject` in interface `Context`
    Parameters:
      `dispatcherWrapsSameObject` - the new flag value

  - ### getSuspendWrappedResponseAfterForward

    public boolean getSuspendWrappedResponseAfterForward()
    Description copied from interface: `Context`
    If this is `true`, then following a forward the response will be unwrapped to suspend the Catalina response instead of simply closing the top level response. The default value is `false`.
    Specified by:
      `getSuspendWrappedResponseAfterForward` in interface `Context`
    Returns:
      the flag value

  - ### setSuspendWrappedResponseAfterForward

    public void setSuspendWrappedResponseAfterForward(boolean suspendWrappedResponseAfterForward)
    Description copied from interface: `Context`
    Allows unwrapping the response object to suspend the response following a forward.
    Specified by:
      `setSuspendWrappedResponseAfterForward` in interface `Context`
    Parameters:
      `suspendWrappedResponseAfterForward` - the new flag value

  - ### getRequestCharacterEncoding

    public String getRequestCharacterEncoding()
    Description copied from interface: `Context`
    Get the default request body encoding for this web application.
    Specified by:
      `getRequestCharacterEncoding` in interface `Context`
    Returns:
      The default request body encoding

  - ### setRequestCharacterEncoding

    public void setRequestCharacterEncoding(String requestEncoding)
    Description copied from interface: `Context`
    Set the default request body encoding for this web application.
    Specified by:
      `setRequestCharacterEncoding` in interface `Context`
    Parameters:
      `requestEncoding` - The default encoding

  - ### getResponseCharacterEncoding

    public String getResponseCharacterEncoding()
    Description copied from interface: `Context`
    Get the default response body encoding for this web application.
    Specified by:
      `getResponseCharacterEncoding` in interface `Context`
    Returns:
      The default response body encoding

  - ### setResponseCharacterEncoding

    public void setResponseCharacterEncoding(String responseEncoding)
    Description copied from interface: `Context`
    Set the default response body encoding for this web application.
    Specified by:
      `setResponseCharacterEncoding` in interface `Context`
    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 interface `Context`
    Parameters:
      `dispatchersUseEncodedPaths` - `true` to use encoded paths, otherwise `false`

  - ### 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 interface `Context`
    Returns:
      `true` if encoded paths will be used, otherwise `false`

  - ### setUseRelativeRedirects

    public void setUseRelativeRedirects(boolean useRelativeRedirects)
    Description copied from interface: `Context`
    Controls whether HTTP 1.1 and later location headers generated by a call to `HttpServletResponse.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 interface `Context`
    Parameters:
      `useRelativeRedirects` - `true` to use relative redirects and `false` to use absolute redirects

  - ### getUseRelativeRedirects

    public boolean getUseRelativeRedirects()
    Will HTTP 1.1 and later location headers generated by a call to `HttpServletResponse.sendRedirect(String)` use relative or absolute redirects.

    The default value for this implementation is `true`.

    Specified by:
      `getUseRelativeRedirects` in interface `Context`
    Returns:
      `true` if relative redirects will be used `false` if absolute redirects are used.
    See Also:
      - `Context.setUseRelativeRedirects(boolean)`

  - ### 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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    Parameters:
      `validateClientProvidedNewSessionId` - `true` if validation should be applied

  - ### getValidateClientProvidedNewSessionId

    public boolean getValidateClientProvidedNewSessionId()
    Will client provided session IDs be validated (see `Context.setValidateClientProvidedNewSessionId(boolean)`) before use?

    The default value for this implementation is `true`.

    Specified by:
      `getValidateClientProvidedNewSessionId` in interface `Context`
    Returns:
      `true` if validation will be applied. Otherwise, `false`

  - ### setCookieProcessor

    public void setCookieProcessor(CookieProcessor cookieProcessor)
    Description copied from interface: `Context`
    Sets the `CookieProcessor` that will be used to process cookies for this Context.
    Specified by:
      `setCookieProcessor` in interface `Context`
    Parameters:
      `cookieProcessor` - The new cookie processor

  - ### getCookieProcessor

    public CookieProcessor getCookieProcessor()
    Description copied from interface: `Context`
    Returns the `CookieProcessor` that will be used to process cookies for this Context.
    Specified by:
      `getCookieProcessor` in interface `Context`
    Returns:
      the `CookieProcessor` that will be used to process cookies for this Context

  - ### getNamingToken

    public Object getNamingToken()
    Description copied from interface: `Context`
    Returns the token necessary for operations on the associated JNDI naming context.
    Specified by:
      `getNamingToken` in interface `Context`
    Returns:
      the token necessary for operations on the associated JNDI naming context

  - ### setContainerSciFilter

    public void setContainerSciFilter(String containerSciFilter)
    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 uses `Matcher.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 interface `Context`
    Parameters:
      `containerSciFilter` - The regular expression against which the fully qualified class name of each container provided SCI should be checked

  - ### getContainerSciFilter

    public String 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 uses `Matcher.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 interface `Context`
    Returns:
      The regular expression against which the fully qualified class name of each container provided SCI will be checked

  - ### getSendRedirectBody

    public boolean getSendRedirectBody()
    Description copied from interface: `Context`
    Returns whether the context is configured to include a response body as part of a redirect response.
    Specified by:
      `getSendRedirectBody` in interface `Context`
    Returns:
      `true` 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 interface `Context`
    Parameters:
      `sendRedirectBody` - `true` to send a response body for redirects

  - ### getPreemptiveAuthentication

    public boolean getPreemptiveAuthentication()
    Description copied from interface: `Context`
    Returns whether the context will process authentication credentials when the request is for a non-protected resource.
    Specified by:
      `getPreemptiveAuthentication` in interface `Context`
    Returns:
      `true` if a user presents authentication credentials, 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 interface `Context`
    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 interface `Context`
    Parameters:
      `enable` - `true` to fire request listeners when forwarding

  - ### getFireRequestListenersOnForwards

    public boolean getFireRequestListenersOnForwards()
    Description copied from interface: `Context`
    Returns whether or not request listeners will be fired on forwards for this Context.
    Specified by:
      `getFireRequestListenersOnForwards` in interface `Context`
    Returns:
      whether or not request 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 interface `Context`
    Parameters:
      `addWebinfClassesResources` - The new value for the flag

  - ### getAddWebinfClassesResources

    public boolean getAddWebinfClassesResources()
    Description copied from interface: `Context`
    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.
    Specified by:
      `getAddWebinfClassesResources` in interface `Context`
    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

    public void setWebappVersion(String webappVersion)
    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 interface `Context`
    Parameters:
      `webappVersion` - The webapp version associated with the context, which should be unique

  - ### getWebappVersion

    public String getWebappVersion()
    Description copied from interface: `Context`
    Returns the version of this web application, used to differentiate different versions of the same web application when using parallel deployment.
    Specified by:
      `getWebappVersion` in interface `Context`
    Returns:
      the version of this web application. If not specified, defaults to the empty string

  - ### getBaseName

    public String getBaseName()
    Description copied from interface: `Context`
    Returns the base name to use for WARs, directories or context.xml files for this context.
    Specified by:
      `getBaseName` in interface `Context`
    Returns:
      the base name to use for WARs, directories or context.xml files for this context

  - ### getResourceOnlyServlets

    public String getResourceOnlyServlets()
    Description copied from interface: `Context`
    Obtains the list of Servlets that expect a resource to be present.
    Specified by:
      `getResourceOnlyServlets` in interface `Context`
    Returns:
      A comma separated list of Servlet names as used in web.xml

  - ### setResourceOnlyServlets

    public void setResourceOnlyServlets(String resourceOnlyServlets)
    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 interface `Context`
    Parameters:
      `resourceOnlyServlets` - The Servlet names comma separated list

  - ### isResourceOnlyServlet

    public boolean isResourceOnlyServlet(String servletName)
    Description copied from interface: `Context`
    Checks the named Servlet to see if it expects a resource to be present.
    Specified by:
      `isResourceOnlyServlet` in interface `Context`
    Parameters:
      `servletName` - Name of the Servlet (as per web.xml) to check
    Returns:
      `true` if the Servlet expects a resource, otherwise `false`

  - ### getEffectiveMajorVersion

    public int getEffectiveMajorVersion()
    Description copied from interface: `Context`
    Returns the effective major version of the Servlet spec used by this context.
    Specified by:
      `getEffectiveMajorVersion` in interface `Context`
    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 interface `Context`
    Parameters:
      `effectiveMajorVersion` - Set the version number

  - ### getEffectiveMinorVersion

    public int getEffectiveMinorVersion()
    Description copied from interface: `Context`
    Returns the effective minor version of the Servlet spec used by this context.
    Specified by:
      `getEffectiveMinorVersion` in interface `Context`
    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 interface `Context`
    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 interface `Context`
    Parameters:
      `logEffectiveWebXml` - set to `true` 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 interface `Context`
    Returns:
      true if the reconstructed web.xml that will be used for the webapp should be logged

  - ### getAuthenticator

    public Authenticator getAuthenticator()
    Description copied from interface: `Context`
    Returns the Authenticator used by this context for handling authentication.
    Specified by:
      `getAuthenticator` in interface `Context`
    Returns:
      the Authenticator instance, always non-null for a started context

  - ### getJarScanner

    public JarScanner 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 interface `Context`
    Returns:
      The Jar Scanner configured for this context.

  - ### setJarScanner

    public void setJarScanner(JarScanner jarScanner)
    Description copied from interface: `Context`
    Set the Jar Scanner to be used to scan for JAR resources for this context.
    Specified by:
      `setJarScanner` in interface `Context`
    Parameters:
      `jarScanner` - The Jar Scanner to be used for this context.

  - ### getInstanceManager

    public InstanceManager getInstanceManager()
    Description copied from interface: `Context`
    Returns the instance manager associated with this context.
    Specified by:
      `getInstanceManager` in interface `Context`
    Returns:
      the instance manager associated with this context

  - ### setInstanceManager

    public void setInstanceManager(InstanceManager instanceManager)
    Description copied from interface: `Context`
    Set the instance manager associated with this context.
    Specified by:
      `setInstanceManager` in interface `Context`
    Parameters:
      `instanceManager` - the new instance manager instance

  - ### getEncodedPath

    public String getEncodedPath()
    Description copied from interface: `Context`
    Return the URL encoded context path
    Specified by:
      `getEncodedPath` in interface `Context`
    Returns:
      The URL encoded (with UTF-8) context path

  - ### setAllowCasualMultipartParsing

    public void setAllowCasualMultipartParsing(boolean allowCasualMultipartParsing)
    Description copied from interface: `Context`
    Set to `true` 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 interface `Context`
    Parameters:
      `allowCasualMultipartParsing` - `true` to allow such casual parsing, `false` otherwise.

  - ### getAllowCasualMultipartParsing

    public boolean getAllowCasualMultipartParsing()
    Returns `true` 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 interface `Context`
    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 to `false` to disable request data swallowing after an upload was aborted due to size constraints.
    Specified by:
      `setSwallowAbortedUploads` in interface `Context`
    Parameters:
      `swallowAbortedUploads` - `false` to disable swallowing, `true` otherwise (default).

  - ### getSwallowAbortedUploads

    public boolean getSwallowAbortedUploads()
    Returns `true` 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 interface `Context`
    Returns:
      `true` if data will be swallowed (default), `false` otherwise.

  - ### addServletContainerInitializer

    public void addServletContainerInitializer(ServletContainerInitializer sci, Set<Class<?>> classes)
    Description copied from interface: `Context`
    Add a ServletContainerInitializer instance to this web application.
    Specified by:
      `addServletContainerInitializer` in interface `Context`
    Parameters:
      `sci` - The instance to add
      `classes` - 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()
    Check if internal naming support is used.
    Returns:
      `true` if internal naming support is used

  - ### setUseNaming

    public void setUseNaming(boolean useNaming)
    Enables or disables naming.
    Parameters:
      `useNaming` - `true` to enable the naming environment

  - ### getApplicationEventListeners

    public Object[] getApplicationEventListeners()
    Description copied from interface: `Context`
    Obtain the registered application event listeners.
    Specified by:
      `getApplicationEventListeners` in interface `Context`
    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

    public 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. Note that this implementation is not thread safe. If two threads call this method concurrently, the result may be either set of listeners or the union of both.
    Specified by:
      `setApplicationEventListeners` in interface `Context`
    Parameters:
      `listeners` - The set of instantiated listener objects.

  - ### addApplicationEventListener

    public void addApplicationEventListener(Object listener)
    Add a listener to the end of the list of initialized application event listeners.
    Parameters:
      `listener` - The listener to add

  - ### getApplicationLifecycleListeners

    public Object[] getApplicationLifecycleListeners()
    Description copied from interface: `Context`
    Obtain the registered application lifecycle listeners.
    Specified by:
      `getApplicationLifecycleListeners` in interface `Context`
    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

    public void setApplicationLifecycleListeners(Object[] listeners)
    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 interface `Context`
    Parameters:
      `listeners` - The set of instantiated listener objects.

  - ### addApplicationLifecycleListener

    public void addApplicationLifecycleListener(Object listener)
    Add a listener to the end of the list of initialized application lifecycle listeners.
    Parameters:
      `listener` - The listener to add

  - ### getAntiResourceLocking

    public boolean getAntiResourceLocking()
    Return the anti-resource-locking flag for this context.
    Returns:
      the anti-resource-locking flag

  - ### setAntiResourceLocking

    public void setAntiResourceLocking(boolean antiResourceLocking)
    Set the antiResourceLocking feature for this Context.
    Parameters:
      `antiResourceLocking` - The new flag value

  - ### getUseBloomFilterForArchives

    @Deprecated public boolean getUseBloomFilterForArchives()
    Deprecated.
    Specified by:
      `getUseBloomFilterForArchives` in interface `Context`
    Returns:
      `true` if the resources archive lookup will use a bloom filter.

  - ### setUseBloomFilterForArchives

    @Deprecated public void setUseBloomFilterForArchives(boolean useBloomFilterForArchives)
    Deprecated.
    Description copied from interface: `Context`
    Set bloom filter flag value.
    Specified by:
      `setUseBloomFilterForArchives` in interface `Context`
    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 interface `Context`
    Parameters:
      `parallelAnnotationScanning` - new parallel annotation scanning flag

  - ### getParallelAnnotationScanning

    public boolean getParallelAnnotationScanning()
    Specified by:
      `getParallelAnnotationScanning` in interface `Context`
    Returns:
      the value of the parallel annotation scanning flag. If true, it will dispatch scanning to the utility executor.

  - ### getCharsetMapper

    public CharsetMapper getCharsetMapper()
    Return the locale to character set mapper for this context.
    Returns:
      the character set mapper

  - ### setCharsetMapper

    public void setCharsetMapper(CharsetMapper mapper)
    Set the Locale to character set mapper for this Context.
    Parameters:
      `mapper` - The new mapper

  - ### getCharset

    public String getCharset(Locale locale)
    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 interface `Context`
    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

    public URL getConfigFile()
    Description copied from interface: `Context`
    Return the URL of the XML descriptor for this context.
    Specified by:
      `getConfigFile` in interface `Context`
    Returns:
      The URL of the XML descriptor for this context

  - ### setConfigFile

    public void setConfigFile(URL configFile)
    Description copied from interface: `Context`
    Set the URL of the XML descriptor for this context.
    Specified by:
      `setConfigFile` in interface `Context`
    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 interface `Context`
    Returns:
      `true` if the Context has been correctly configured, otherwise `false`

  - ### 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 interface `Context`
    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 interface `Context`
    Returns:
      `true` if it is permitted to use cookies to track session IDs for this web application, otherwise `false`

  - ### setCookies

    public void setCookies(boolean cookies)
    Description copied from interface: `Context`
    Set the "use cookies for session ids" flag.
    Specified by:
      `setCookies` in interface `Context`
    Parameters:
      `cookies` - The new flag

  - ### getSessionCookieName

    public String 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 interface `Context`
    Returns:
      The value of the default session cookie name or null if not specified

  - ### setSessionCookieName

    public void setSessionCookieName(String sessionCookieName)
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    Parameters:
      `useHttpOnly` - Set to `true` to use HttpOnly cookies for session cookies

  - ### getUsePartitioned

    public boolean getUsePartitioned()
    Description copied from interface: `Context`
    Should the `Partitioned` attribute be added to session cookies created for this web application.

    The name of the attribute used to indicate a partitioned cookie as part of CHIPS is not defined by an RFC and may change in a non-backwards compatible way once equivalent functionality is included in an RFC.

    Specified by:
      `getUsePartitioned` in interface `Context`
    Returns:
      `true` if the `Partitioned` attribute should be added to session cookies created for this web application, otherwise `false`

  - ### setUsePartitioned

    public void setUsePartitioned(boolean usePartitioned)
    Description copied from interface: `Context`
    Configure whether the `Partitioned` attribute should be added to session cookies created for this web application.

    The name of the attribute used to indicate a partitioned cookie as part of CHIPS is not defined by an RFC and may change in a non-backwards compatible way once equivalent functionality is included in an RFC.

    Specified by:
      `setUsePartitioned` in interface `Context`
    Parameters:
      `usePartitioned` - `true` if the `Partitioned` attribute should be added to session cookies created for this web application, otherwise `false`

  - ### getSessionCookieDomain

    public String 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 interface `Context`
    Returns:
      The value of the default session cookie domain or null if not specified

  - ### setSessionCookieDomain

    public void setSessionCookieDomain(String sessionCookieDomain)
    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 interface `Context`
    Parameters:
      `sessionCookieDomain` - The domain to use

  - ### getSessionCookiePath

    public String 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 interface `Context`
    Returns:
      The value of the default session cookie path or null if not specified

  - ### setSessionCookiePath

    public void setSessionCookiePath(String sessionCookiePath)
    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 interface `Context`
    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 interface `Context`
    Returns:
      `true` if the slash is added, otherwise `false`

  - ### 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 interface `Context`
    Parameters:
      `sessionCookiePathUsesTrailingSlash` - `true` if the slash should be added, otherwise `false`

  - ### getCrossContext

    public boolean getCrossContext()
    Return the "allow crossing servlet contexts" flag.

    The default value for this implementation is `false`.

    Specified by:
      `getCrossContext` in interface `Context`
    Returns:
      `true` if cross-contest requests are allowed from this web applications, otherwise `false`

  - ### setCrossContext

    public void setCrossContext(boolean crossContext)
    Description copied from interface: `Context`
    Set the "allow crossing servlet contexts" flag.
    Specified by:
      `setCrossContext` in interface `Context`
    Parameters:
      `crossContext` - The new cross contexts flag

  - ### getDefaultContextXml

    public String getDefaultContextXml()
    Returns the location of the default context XML.
    Returns:
      The default context XML location

  - ### setDefaultContextXml

    public void setDefaultContextXml(String defaultContextXml)
    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

    public String getDefaultWebXml()
    Returns the location of the default web XML.
    Returns:
      The default web XML location

  - ### setDefaultWebXml

    public void setDefaultWebXml(String defaultWebXml)
    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)
    Sets the time (in milliseconds) it took to start this context.
    Parameters:
      `startupTime` - Time (in milliseconds) it took to start this context.

  - ### getTldScanTime

    public long getTldScanTime()
    Gets the time (in milliseconds) spent scanning TLDs during startup.
    Returns:
      Time (in milliseconds) spent scanning TLDs.

  - ### setTldScanTime

    public void setTldScanTime(long tldScanTime)
    Sets the time (in milliseconds) spent scanning TLDs during startup.
    Parameters:
      `tldScanTime` - Time (in milliseconds) spent scanning TLDs.

  - ### getDenyUncoveredHttpMethods

    public boolean getDenyUncoveredHttpMethods()
    Description copied from interface: `Context`
    Return the deny-uncovered-http-methods flag for this web application.
    Specified by:
      `getDenyUncoveredHttpMethods` in interface `Context`
    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 interface `Context`
    Parameters:
      `denyUncoveredHttpMethods` - The new deny-uncovered-http-methods flag

  - ### getDisplayName

    public String getDisplayName()
    Description copied from interface: `Context`
    Return the display name of this web application.
    Specified by:
      `getDisplayName` in interface `Context`
    Returns:
      The display name

  - ### getAltDDName

    public String getAltDDName()
    Description copied from interface: `Context`
    Return the alternate Deployment Descriptor name.
    Specified by:
      `getAltDDName` in interface `Context`
    Returns:
      the name

  - ### setAltDDName

    public void setAltDDName(String altDDName)
    Description copied from interface: `Context`
    Set an alternate Deployment Descriptor name.
    Specified by:
      `setAltDDName` in interface `Context`
    Parameters:
      `altDDName` - The new name

  - ### setDisplayName

    public void setDisplayName(String displayName)
    Description copied from interface: `Context`
    Set the display name of this web application.
    Specified by:
      `setDisplayName` in interface `Context`
    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 interface `Context`
    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 interface `Context`
    Parameters:
      `distributable` - The new distributable flag

  - ### getDocBase

    public String getDocBase()
    Description copied from interface: `Context`
    Obtain the document root for this Context.
    Specified by:
      `getDocBase` in interface `Context`
    Returns:
      An absolute pathname or a relative (to the Host's appBase) pathname.

  - ### setDocBase

    public void setDocBase(String docBase)
    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 interface `Context`
    Parameters:
      `docBase` - The new document root

  - ### getJ2EEApplication

    public String getJ2EEApplication()
    Returns the J2EE Application ObjectName this module belongs to.
    Returns:
      The J2EE Application ObjectName

  - ### setJ2EEApplication

    public void setJ2EEApplication(String j2EEApplication)
    Sets the J2EE Application ObjectName this module belongs to.
    Parameters:
      `j2EEApplication` - The J2EE Application ObjectName

  - ### getJ2EEServer

    public String getJ2EEServer()
    Returns the J2EE Server ObjectName this module is deployed on.
    Returns:
      The J2EE Server ObjectName

  - ### setJ2EEServer

    public void setJ2EEServer(String j2EEServer)
    Sets the J2EE Server ObjectName this module is deployed on.
    Parameters:
      `j2EEServer` - The J2EE Server ObjectName

  - ### getLoader

    public Loader getLoader()
    Description copied from interface: `Context`
    Returns the Loader with which this Context is associated.
    Specified by:
      `getLoader` in interface `Context`
    Returns:
      the Loader with which this Context is associated

  - ### setLoader

    public void setLoader(Loader loader)
    Description copied from interface: `Context`
    Set the Loader with which this Context is associated.
    Specified by:
      `setLoader` in interface `Context`
    Parameters:
      `loader` - The newly associated loader

  - ### getManager

    public Manager getManager()
    Description copied from interface: `Context`
    Returns the Manager with which this Context is associated.
    Specified by:
      `getManager` in interface `Context`
    Returns:
      the Manager with which this Context is associated. If there is no associated Manager, return `null`

  - ### setManager

    public void setManager(Manager manager)
    Description copied from interface: `Context`
    Set the Manager with which this Context is associated.
    Specified by:
      `setManager` in interface `Context`
    Parameters:
      `manager` - The newly associated Manager

  - ### getIgnoreAnnotations

    public boolean getIgnoreAnnotations()
    Determine if annotations parsing is currently disabled

    The default value for this implementation is `false`.

    Specified by:
      `getIgnoreAnnotations` in interface `Context`
    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 interface `Context`
    Parameters:
      `ignoreAnnotations` - The boolean on the annotations parsing

  - ### getLoginConfig

    public LoginConfig getLoginConfig()
    Description copied from interface: `Context`
    Returns the login configuration descriptor for this web application.
    Specified by:
      `getLoginConfig` in interface `Context`
    Returns:
      the login configuration, or `null` if not configured

  - ### setLoginConfig

    public void setLoginConfig(LoginConfig config)
    Description copied from interface: `Context`
    Set the login configuration descriptor for this web application.
    Specified by:
      `setLoginConfig` in interface `Context`
    Parameters:
      `config` - The new login configuration

  - ### getNamingResources

    public NamingResourcesImpl getNamingResources()
    Description copied from interface: `Context`
    Returns the naming resources associated with this web application.
    Specified by:
      `getNamingResources` in interface `Context`
    Returns:
      the naming resources, or `null` if not configured

  - ### setNamingResources

    public void setNamingResources(NamingResourcesImpl namingResources)
    Description copied from interface: `Context`
    Set the naming resources for this web application.
    Specified by:
      `setNamingResources` in interface `Context`
    Parameters:
      `namingResources` - The new naming resources

  - ### getPath

    public String getPath()
    Description copied from interface: `Context`
    Returns the context path for this web application.
    Specified by:
      `getPath` in interface `Context`
    Returns:
      the context path

  - ### setPath

    public void setPath(String path)
    Description copied from interface: `Context`
    Set the context path for this web application.
    Specified by:
      `setPath` in interface `Context`
    Parameters:
      `path` - The new context path

  - ### getPublicId

    public String getPublicId()
    Description copied from interface: `Context`
    Returns the public identifier of the deployment descriptor DTD that is currently being parsed.
    Specified by:
      `getPublicId` in interface `Context`
    Returns:
      the public identifier

  - ### setPublicId

    public void setPublicId(String publicId)
    Description copied from interface: `Context`
    Set the public identifier of the deployment descriptor DTD that is currently being parsed.
    Specified by:
      `setPublicId` in interface `Context`
    Parameters:
      `publicId` - The public identifier

  - ### getReloadable

    public boolean getReloadable()
    Returns whether automatic reloading is enabled for this web application.

    The default value for this implementation is `false`.

    Specified by:
      `getReloadable` in interface `Context`
    Returns:
      `true` if the web application is reloadable

  - ### getOverride

    public boolean getOverride()
    Returns whether the container's default web.xml should be overridden by this web application's web.xml.

    The default value for this implementation is `false`.

    Specified by:
      `getOverride` in interface `Context`
    Returns:
      `true` if the web application's web.xml overrides the default

  - ### getOriginalDocBase

    public String getOriginalDocBase()
    Return 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!
    Returns:
      the original document root

  - ### setOriginalDocBase

    public void setOriginalDocBase(String docBase)
    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

    public ClassLoader getParentClassLoader()
    Description copied from interface: `Container`
    Get the parent class loader.
    Specified by:
      `getParentClassLoader` in interface `Container`
    Overrides:
      `getParentClassLoader` in class `ContainerBase`
    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()
    Returns whether this web application is privileged and can access container internals.

    The default value for this implementation is `false`.

    Specified by:
      `getPrivileged` in interface `Context`
    Returns:
      `true` if the web application is privileged

  - ### setPrivileged

    public void setPrivileged(boolean privileged)
    Description copied from interface: `Context`
    Set the privileged flag for this web application.
    Specified by:
      `setPrivileged` in interface `Context`
    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 interface `Context`
    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 interface `Context`
    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

    public ServletContext getServletContext()
    Description copied from interface: `Context`
    Returns the ServletContext instance for which this Context acts as a facade.
    Specified by:
      `getServletContext` in interface `Context`
    Returns:
      the ServletContext instance, or `null` if not yet initialized

  - ### getSessionTimeout

    public int getSessionTimeout()
    Returns the default session timeout in minutes for this web application.

    The default value for this implementation is 30 minutes.

    Specified by:
      `getSessionTimeout` in interface `Context`
    Returns:
      the session timeout in minutes

  - ### 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 interface `Context`
    Parameters:
      `timeout` - The new default session timeout

  - ### getSwallowOutput

    public boolean getSwallowOutput()
    Returns whether stdout and stderr are redirected to the logger during servlet execution.

    The default value for this implementation is `false`.

    Specified by:
      `getSwallowOutput` in interface `Context`
    Returns:
      `true` if output is swallowed and redirected to the logger

  - ### 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 interface `Context`
    Parameters:
      `swallowOutput` - The new value

  - ### getUnloadDelay

    public long getUnloadDelay()
    Return the value of the unload delay flag.
    Returns:
      the unload delay value

  - ### 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()
    Return the unpack WAR flag.
    Returns:
      `true` if WAR files should be unpacked

  - ### 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 the `META-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

    public String getWrapperClass()
    Description copied from interface: `Context`
    Returns the Java class name of the Wrapper implementation used for servlets in this Context.
    Specified by:
      `getWrapperClass` in interface `Context`
    Returns:
      the Wrapper implementation class name

  - ### setWrapperClass

    public void setWrapperClass(String wrapperClassName)
    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 interface `Context`
    Parameters:
      `wrapperClassName` - The new wrapper class

  - ### getResources

    public WebResourceRoot getResources()
    Description copied from interface: `Context`
    Returns the Resources with which this Context is associated.
    Specified by:
      `getResources` in interface `Context`
    Returns:
      the Resources with which this Context is associated

  - ### setResources

    public void setResources(WebResourceRoot resources)
    Description copied from interface: `Context`
    Set the Resources object with which this Context is associated.
    Specified by:
      `setResources` in interface `Context`
    Parameters:
      `resources` - The newly associated Resources

  - ### getJspConfigDescriptor

    public JspConfigDescriptor getJspConfigDescriptor()
    Description copied from interface: `Context`
    Returns the JSP configuration for this context.
    Specified by:
      `getJspConfigDescriptor` in interface `Context`
    Returns:
      the JSP configuration for this context. Will be null if there is no JSP configuration

  - ### setJspConfigDescriptor

    public void setJspConfigDescriptor(JspConfigDescriptor descriptor)
    Description copied from interface: `Context`
    Set the JspConfigDescriptor for this context. A null value indicates there is not JSP configuration.
    Specified by:
      `setJspConfigDescriptor` in interface `Context`
    Parameters:
      `descriptor` - the new JSP configuration

  - ### getThreadBindingListener

    public ThreadBindingListener getThreadBindingListener()
    Description copied from interface: `Context`
    Returns the associated ThreadBindingListener.
    Specified by:
      `getThreadBindingListener` in interface `Context`
    Returns:
      the associated ThreadBindingListener

  - ### setThreadBindingListener

    public void setThreadBindingListener(ThreadBindingListener threadBindingListener)
    Description copied from interface: `Context`
    Get the associated ThreadBindingListener.
    Specified by:
      `setThreadBindingListener` in interface `Context`
    Parameters:
      `threadBindingListener` - Set the listener that will receive notifications when entering and exiting the application scope

  - ### getJndiExceptionOnFailedWrite

    public boolean getJndiExceptionOnFailedWrite()
    Return whether an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.
    Returns:
      `true` if modification triggers an exception

  - ### 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

    public String getCharsetMapperClass()
    Return the locale to character set mapper class for this context.
    Returns:
      the character set mapper class name

  - ### setCharsetMapperClass

    public void setCharsetMapperClass(String mapper)
    Set the Locale to character set mapper class for this Context.
    Parameters:
      `mapper` - The new mapper class

  - ### getWorkPath

    public String getWorkPath()
    Get the absolute path to the work dir. To avoid duplication.
    Returns:
      The work path

  - ### getWorkDir

    public String getWorkDir()
    Return the work directory for this context.
    Returns:
      the work directory path

  - ### setWorkDir

    public void setWorkDir(String workDir)
    Set the work directory for this Context.
    Parameters:
      `workDir` - The new work directory

  - ### getClearReferencesRmiTargets

    public boolean getClearReferencesRmiTargets()
    Returns whether RMI targets should be cleared during stop to prevent memory leaks.
    Returns:
      True if RMI targets should be cleared

  - ### setClearReferencesRmiTargets

    public void setClearReferencesRmiTargets(boolean clearReferencesRmiTargets)
    Sets whether RMI targets should be cleared during stop to prevent memory leaks.
    Parameters:
      `clearReferencesRmiTargets` - True to clear RMI targets

  - ### getClearReferencesStopThreads

    public boolean getClearReferencesStopThreads()
    Return the clearReferencesStopThreads flag for this context.
    Returns:
      the clearReferencesStopThreads flag

  - ### setClearReferencesStopThreads

    public void setClearReferencesStopThreads(boolean clearReferencesStopThreads)
    Set the clearReferencesStopThreads feature for this Context.
    Parameters:
      `clearReferencesStopThreads` - The new flag value

  - ### getClearReferencesStopTimerThreads

    public boolean getClearReferencesStopTimerThreads()
    Return the clearReferencesStopTimerThreads flag for this context.
    Returns:
      the clearReferencesStopTimerThreads flag

  - ### setClearReferencesStopTimerThreads

    public void setClearReferencesStopTimerThreads(boolean clearReferencesStopTimerThreads)
    Set the clearReferencesStopTimerThreads feature for this Context.
    Parameters:
      `clearReferencesStopTimerThreads` - The new flag value

  - ### getClearReferencesHttpClientKeepAliveThread

    public boolean getClearReferencesHttpClientKeepAliveThread()
    Return the clearReferencesHttpClientKeepAliveThread flag for this context.
    Returns:
      the clearReferencesHttpClientKeepAliveThread flag

  - ### setClearReferencesHttpClientKeepAliveThread

    public void setClearReferencesHttpClientKeepAliveThread(boolean clearReferencesHttpClientKeepAliveThread)
    Set the clearReferencesHttpClientKeepAliveThread feature for this Context.
    Parameters:
      `clearReferencesHttpClientKeepAliveThread` - The new flag value

  - ### getRenewThreadsWhenStoppingContext

    public boolean getRenewThreadsWhenStoppingContext()
    Returns whether threads should be renewed when stopping the context.
    Returns:
      True if threads should be renewed

  - ### setRenewThreadsWhenStoppingContext

    public void setRenewThreadsWhenStoppingContext(boolean renewThreadsWhenStoppingContext)
    Sets whether threads should be renewed when stopping the context.
    Parameters:
      `renewThreadsWhenStoppingContext` - True to renew threads

  - ### getClearReferencesObjectStreamClassCaches

    public boolean getClearReferencesObjectStreamClassCaches()

  - ### setClearReferencesObjectStreamClassCaches

    public void setClearReferencesObjectStreamClassCaches(boolean clearReferencesObjectStreamClassCaches)

  - ### getClearReferencesThreadLocals

    public boolean getClearReferencesThreadLocals()
    Returns whether ThreadLocal references should be cleared during stop to prevent memory leaks.
    Returns:
      True if ThreadLocal references should be cleared

  - ### setClearReferencesThreadLocals

    public void setClearReferencesThreadLocals(boolean clearReferencesThreadLocals)
    Sets whether ThreadLocal references should be cleared during stop to prevent memory leaks.
    Parameters:
      `clearReferencesThreadLocals` - True to clear ThreadLocal references

  - ### getSkipMemoryLeakChecksOnJvmShutdown

    public boolean getSkipMemoryLeakChecksOnJvmShutdown()
    Returns whether memory leak checks should be skipped on JVM shutdown.
    Returns:
      True if memory leak checks should be skipped

  - ### setSkipMemoryLeakChecksOnJvmShutdown

    public void setSkipMemoryLeakChecksOnJvmShutdown(boolean skipMemoryLeakChecksOnJvmShutdown)
    Sets whether memory leak checks should be skipped on JVM shutdown.
    Parameters:
      `skipMemoryLeakChecksOnJvmShutdown` - True to skip memory leak checks

  - ### getFailCtxIfServletStartFails

    public Boolean getFailCtxIfServletStartFails()
    Returns whether the context should fail if a servlet fails to start.
    Returns:
      True if the context should fail, false otherwise, or null to inherit from parent

  - ### setFailCtxIfServletStartFails

    public void setFailCtxIfServletStartFails(Boolean failCtxIfServletStartFails)
    Sets whether the context should fail if a servlet fails to start.
    Parameters:
      `failCtxIfServletStartFails` - True to fail the context, false to continue, or null to inherit

  - ### getComputedFailCtxIfServletStartFails

    protected boolean getComputedFailCtxIfServletStartFails()
    Returns the computed value of failCtxIfServletStartFails, inheriting from parent Host if not explicitly set.
    Returns:
      True if the context should fail when a servlet start fails

  - ### addApplicationListener

    public void addApplicationListener(String listener)
    Description copied from interface: `Context`
    Add a new Listener class name to the set of Listeners configured for this application.
    Specified by:
      `addApplicationListener` in interface `Context`
    Parameters:
      `listener` - Java class name of a listener class

  - ### addApplicationParameter

    public void addApplicationParameter(ApplicationParameter parameter)
    Description copied from interface: `Context`
    Add a new application parameter for this application.
    Specified by:
      `addApplicationParameter` in interface `Context`
    Parameters:
      `parameter` - The new application parameter

  - ### addChild

    public void addChild(Container child)
    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's `setParent()` method must be called, with this Container as an argument. This method may throw an `IllegalArgumentException` if this Container chooses not to be attached to the specified Container, in which case it is not added
    Specified by:
      `addChild` in interface `Container`
    Overrides:
      `addChild` in class `ContainerBase`
    Parameters:
      `child` - New child Container to be added

  - ### addConstraint

    public void addConstraint(SecurityConstraint constraint)
    Description copied from interface: `Context`
    Add a security constraint to the set for this web application.
    Specified by:
      `addConstraint` in interface `Context`
    Parameters:
      `constraint` - The security constraint that should be added

  - ### addErrorPage

    public void addErrorPage(ErrorPage errorPage)
    Description copied from interface: `Context`
    Add an error page for the specified error or Java exception.
    Specified by:
      `addErrorPage` in interface `Context`
    Parameters:
      `errorPage` - The error page definition to be added

  - ### addFilterDef

    public void addFilterDef(FilterDef filterDef)
    Description copied from interface: `Context`
    Add a filter definition to this Context.
    Specified by:
      `addFilterDef` in interface `Context`
    Parameters:
      `filterDef` - The filter definition to be added

  - ### addFilterMap

    public void addFilterMap(FilterMap filterMap)
    Description copied from interface: `Context`
    Add a filter mapping to this Context.
    Specified by:
      `addFilterMap` in interface `Context`
    Parameters:
      `filterMap` - The filter mapping to be added

  - ### addFilterMapBefore

    public void addFilterMapBefore(FilterMap filterMap)
    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 interface `Context`
    Parameters:
      `filterMap` - The filter mapping to be added

  - ### addLocaleEncodingMappingParameter

    public void addLocaleEncodingMappingParameter(String locale, String encoding)
    Description copied from interface: `Context`
    Add a Locale Encoding Mapping (see Sec 5.4 of Servlet spec 2.4)
    Specified by:
      `addLocaleEncodingMappingParameter` in interface `Context`
    Parameters:
      `locale` - locale to map an encoding for
      `encoding` - encoding to be used for a give locale

  - ### addMessageDestination

    public void addMessageDestination(MessageDestination md)
    Add a message destination for this web application.
    Parameters:
      `md` - New message destination

  - ### addMimeMapping

    public void addMimeMapping(String extension, String mimeType)
    Description copied from interface: `Context`
    Add a new MIME mapping, replacing any existing mapping for the specified extension.
    Specified by:
      `addMimeMapping` in interface `Context`
    Parameters:
      `extension` - Filename extension being mapped
      `mimeType` - Corresponding MIME type

  - ### addParameter

    public void addParameter(String name, String value)
    Description copied from interface: `Context`
    Add a new context initialization parameter, replacing any existing value for the specified name.
    Specified by:
      `addParameter` in interface `Context`
    Parameters:
      `name` - Name of the new parameter
      `value` - Value of the new parameter

  - ### addRoleMapping

    public void addRoleMapping(String role, String link)
    Description copied from interface: `Context`
    Add a security role reference for this web application.
    Specified by:
      `addRoleMapping` in interface `Context`
    Parameters:
      `role` - Security role used in the application
      `link` - Actual security role to check for

  - ### addSecurityRole

    public void addSecurityRole(String role)
    Description copied from interface: `Context`
    Add a new security role for this web application.
    Specified by:
      `addSecurityRole` in interface `Context`
    Parameters:
      `role` - New security role

  - ### addServletMappingDecoded

    public void addServletMappingDecoded(String pattern, String name, boolean jspWildCard)
    Description copied from interface: `Context`
    Add a new servlet mapping, replacing any existing mapping for the specified pattern.
    Specified by:
      `addServletMappingDecoded` in interface `Context`
    Parameters:
      `pattern` - URL pattern to be mapped
      `name` - Name of the corresponding servlet to execute
      `jspWildCard` - true if name identifies the JspServlet and pattern contains a wildcard; false otherwise

  - ### addWatchedResource

    public void addWatchedResource(String name)
    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 interface `Context`
    Parameters:
      `name` - Path to the resource, relative to docBase

  - ### addWelcomeFile

    public void addWelcomeFile(String name)
    Description copied from interface: `Context`
    Add a new welcome file to the set recognized by this Context.
    Specified by:
      `addWelcomeFile` in interface `Context`
    Parameters:
      `name` - New welcome file name

  - ### addWrapperLifecycle

    public void addWrapperLifecycle(String listener)
    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 interface `Context`
    Parameters:
      `listener` - Java class name of a LifecycleListener class

  - ### addWrapperListener

    public void addWrapperListener(String listener)
    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 interface `Context`
    Parameters:
      `listener` - Java class name of a ContainerListener class

  - ### createWrapper

    public Wrapper 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 interface `Context`
    Returns:
      a newly created wrapper instance that is used to wrap a Servlet

  - ### findApplicationListeners

    public String[] findApplicationListeners()
    Description copied from interface: `Context`
    Returns the array of application listener class names configured for this application.
    Specified by:
      `findApplicationListeners` in interface `Context`
    Returns:
      the array of application listener class names configured for this application

  - ### findApplicationParameters

    public ApplicationParameter[] findApplicationParameters()
    Description copied from interface: `Context`
    Returns the array of application parameters for this application.
    Specified by:
      `findApplicationParameters` in interface `Context`
    Returns:
      the array of application parameters for this application

  - ### findConstraints

    public SecurityConstraint[] findConstraints()
    Description copied from interface: `Context`
    Returns the array of security constraints for this web application.
    Specified by:
      `findConstraints` in interface `Context`
    Returns:
      the array of security constraints for this web application. If there are none, a zero-length array is returned

  - ### findErrorPage

    public ErrorPage findErrorPage(int errorCode)
    Description copied from interface: `Context`
    Returns the error page entry for the specified HTTP error code.
    Specified by:
      `findErrorPage` in interface `Context`
    Parameters:
      `errorCode` - Error code to look up
    Returns:
      the error page entry for the specified HTTP error code, if any; otherwise return `null`

  - ### findErrorPage

    public ErrorPage findErrorPage(Throwable exceptionType)
    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, return `null`.
    Specified by:
      `findErrorPage` in interface `Context`
    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

    public ErrorPage[] findErrorPages()
    Description copied from interface: `Context`
    Returns the array of defined error pages for all specified error codes and exception types.
    Specified by:
      `findErrorPages` in interface `Context`
    Returns:
      the array of defined error pages for all specified error codes and exception types

  - ### findFilterDef

    public FilterDef findFilterDef(String filterName)
    Description copied from interface: `Context`
    Returns the filter definition for the specified filter name.
    Specified by:
      `findFilterDef` in interface `Context`
    Parameters:
      `filterName` - Filter name to look up
    Returns:
      the filter definition for the specified filter name, if any; otherwise return `null`

  - ### findFilterDefs

    public FilterDef[] findFilterDefs()
    Description copied from interface: `Context`
    Returns the array of defined filters for this Context.
    Specified by:
      `findFilterDefs` in interface `Context`
    Returns:
      the array of defined filters for this Context

  - ### findFilterMaps

    public FilterMap[] findFilterMaps()
    Description copied from interface: `Context`
    Returns the array of filter mappings for this Context.
    Specified by:
      `findFilterMaps` in interface `Context`
    Returns:
      the array of filter mappings for this Context

  - ### findMessageDestination

    public MessageDestination findMessageDestination(String name)
    Return the message destination with the specified name, if any; otherwise, return `null`.
    Parameters:
      `name` - Name of the desired message destination
    Returns:
      the message destination, or `null`

  - ### findMessageDestinations

    public MessageDestination[] findMessageDestinations()
    Return the array of defined message destinations for this web application. If none have been defined, a zero-length array is returned.
    Returns:
      the message destinations

  - ### findMimeMapping

    public String findMimeMapping(String extension)
    Description copied from interface: `Context`
    Returns the MIME type to which the specified extension is mapped.
    Specified by:
      `findMimeMapping` in interface `Context`
    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

    public String[] findMimeMappings()
    Description copied from interface: `Context`
    Returns the extensions for which MIME mappings are defined.
    Specified by:
      `findMimeMappings` in interface `Context`
    Returns:
      the extensions for which MIME mappings are defined. If there are none, a zero-length array is returned

  - ### findParameter

    public String findParameter(String name)
    Description copied from interface: `Context`
    Returns the value for the specified context initialization parameter name.
    Specified by:
      `findParameter` in interface `Context`
    Parameters:
      `name` - Name of the parameter to return
    Returns:
      the value for the specified context initialization parameter name, if any; otherwise return `null`

  - ### findParameters

    public String[] findParameters()
    Description copied from interface: `Context`
    Returns the names of all defined context initialization parameters for this Context.
    Specified by:
      `findParameters` in interface `Context`
    Returns:
      the names of all defined context initialization parameters for this Context. If no parameters are defined, a zero-length array is returned

  - ### findRoleMapping

    public String findRoleMapping(String role)
    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 interface `Context`
    Parameters:
      `role` - Security role to map
    Returns:
      The role name that was mapped to the specified role

  - ### findSecurityRole

    public boolean findSecurityRole(String role)
    Description copied from interface: `Context`
    Checks if the specified security role is defined for this application.
    Specified by:
      `findSecurityRole` in interface `Context`
    Parameters:
      `role` - Security role to verify
    Returns:
      `true` if the specified security role is defined for this application; otherwise return `false`

  - ### findSecurityRoles

    public String[] findSecurityRoles()
    Description copied from interface: `Context`
    Returns the security roles defined for this application.
    Specified by:
      `findSecurityRoles` in interface `Context`
    Returns:
      the security roles defined for this application. If none have been defined, a zero-length array is returned

  - ### findServletMapping

    public String findServletMapping(String pattern)
    Description copied from interface: `Context`
    Returns the servlet name mapped by the specified pattern.
    Specified by:
      `findServletMapping` in interface `Context`
    Parameters:
      `pattern` - Pattern for which a mapping is requested
    Returns:
      the servlet name mapped by the specified pattern (if any); otherwise return `null`

  - ### findServletMappings

    public String[] findServletMappings()
    Description copied from interface: `Context`
    Returns the patterns of all defined servlet mappings for this Context.
    Specified by:
      `findServletMappings` in interface `Context`
    Returns:
      the patterns of all defined servlet mappings for this Context. If no mappings are defined, a zero-length array is returned

  - ### findWelcomeFile

    public boolean findWelcomeFile(String name)
    Description copied from interface: `Context`
    Checks if the specified welcome file is defined for this Context.
    Specified by:
      `findWelcomeFile` in interface `Context`
    Parameters:
      `name` - the welcome file to verify
    Returns:
      `true` if the specified welcome file is defined for this Context; otherwise return `false`

  - ### findWatchedResources

    public String[] findWatchedResources()
    Description copied from interface: `Context`
    Returns the array of watched resources for this Context.
    Specified by:
      `findWatchedResources` in interface `Context`
    Returns:
      the array of watched resources for this Context. If none are defined, a zero length array will be returned

  - ### findWelcomeFiles

    public String[] findWelcomeFiles()
    Description copied from interface: `Context`
    Returns the array of welcome files defined for this Context.
    Specified by:
      `findWelcomeFiles` in interface `Context`
    Returns:
      the array of welcome files defined for this Context. If none are defined, a zero-length array is returned

  - ### findWrapperLifecycles

    public String[] findWrapperLifecycles()
    Description copied from interface: `Context`
    Returns the array of LifecycleListener classes that will be added to newly created Wrappers automatically.
    Specified by:
      `findWrapperLifecycles` in interface `Context`
    Returns:
      the array of LifecycleListener classes that will be added to newly created Wrappers automatically

  - ### findWrapperListeners

    public String[] findWrapperListeners()
    Description copied from interface: `Context`
    Returns the array of ContainerListener classes that will be added to newly created Wrappers automatically.
    Specified by:
      `findWrapperListeners` in interface `Context`
    Returns:
      the array 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.

    Specified by:
      `reload` in interface `Context`

  - ### removeApplicationListener

    public void removeApplicationListener(String listener)
    Description copied from interface: `Context`
    Remove the specified application listener class from the set of listeners for this application.
    Specified by:
      `removeApplicationListener` in interface `Context`
    Parameters:
      `listener` - Java class name of the listener to be removed

  - ### removeApplicationParameter

    public void removeApplicationParameter(String name)
    Description copied from interface: `Context`
    Remove the application parameter with the specified name from the set for this application.
    Specified by:
      `removeApplicationParameter` in interface `Context`
    Parameters:
      `name` - Name of the application parameter to remove

  - ### removeChild

    public void removeChild(Container child)
    Description copied from interface: `Container`
    Remove an existing child Container from association with this parent Container.
    Specified by:
      `removeChild` in interface `Container`
    Overrides:
      `removeChild` in class `ContainerBase`
    Parameters:
      `child` - Existing child Container to be removed

  - ### removeConstraint

    public void removeConstraint(SecurityConstraint constraint)
    Description copied from interface: `Context`
    Remove the specified security constraint from this web application.
    Specified by:
      `removeConstraint` in interface `Context`
    Parameters:
      `constraint` - Constraint to be removed

  - ### removeErrorPage

    public void removeErrorPage(ErrorPage errorPage)
    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 interface `Context`
    Parameters:
      `errorPage` - The error page definition to be removed

  - ### removeFilterDef

    public void removeFilterDef(FilterDef filterDef)
    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 interface `Context`
    Parameters:
      `filterDef` - Filter definition to be removed

  - ### removeFilterMap

    public void removeFilterMap(FilterMap filterMap)
    Description copied from interface: `Context`
    Remove a filter mapping from this Context.
    Specified by:
      `removeFilterMap` in interface `Context`
    Parameters:
      `filterMap` - The filter mapping to be removed

  - ### removeMessageDestination

    public void removeMessageDestination(String name)
    Remove any message destination with the specified name.
    Parameters:
      `name` - Name of the message destination to remove

  - ### removeMimeMapping

    public void removeMimeMapping(String extension)
    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 interface `Context`
    Parameters:
      `extension` - Extension to remove the mapping for

  - ### removeParameter

    public void removeParameter(String name)
    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 interface `Context`
    Parameters:
      `name` - Name of the parameter to remove

  - ### removeRoleMapping

    public void removeRoleMapping(String role)
    Description copied from interface: `Context`
    Remove any security role reference for the specified name
    Specified by:
      `removeRoleMapping` in interface `Context`
    Parameters:
      `role` - Security role (as used in the application) to remove

  - ### removeSecurityRole

    public void removeSecurityRole(String role)
    Description copied from interface: `Context`
    Remove any security role with the specified name.
    Specified by:
      `removeSecurityRole` in interface `Context`
    Parameters:
      `role` - Security role to remove

  - ### removeServletMapping

    public void removeServletMapping(String pattern)
    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 interface `Context`
    Parameters:
      `pattern` - URL pattern of the mapping to remove

  - ### removeWatchedResource

    public void removeWatchedResource(String name)
    Description copied from interface: `Context`
    Remove the specified watched resource name from the list associated with this Context.
    Specified by:
      `removeWatchedResource` in interface `Context`
    Parameters:
      `name` - Name of the watched resource to be removed

  - ### removeWelcomeFile

    public void removeWelcomeFile(String name)
    Description copied from interface: `Context`
    Remove the specified welcome file name from the list recognized by this Context.
    Specified by:
      `removeWelcomeFile` in interface `Context`
    Parameters:
      `name` - Name of the welcome file to be removed

  - ### removeWrapperLifecycle

    public void removeWrapperLifecycle(String listener)
    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 interface `Context`
    Parameters:
      `listener` - Class name of a LifecycleListener class to be removed

  - ### removeWrapperListener

    public void removeWrapperListener(String listener)
    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 interface `Context`
    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

    @Deprecated public int getRequestCount()
    Deprecated.
    The return type will change to long in Tomcat 11 onwards. Callers of this method should switch to storing the result of calls to this method in a long value rather than an int.
    Gets the cumulative request count of all servlets in this StandardContext.
    Returns:
      Cumulative request count of all servlets in this StandardContext

  - ### getErrorCount

    @Deprecated public int getErrorCount()
    Deprecated.
    The return type will change to long in Tomcat 11 onwards. Callers of this method should switch to storing the result of calls to this method in a long value rather than an int.
    Gets the cumulative error count of all servlets in this StandardContext.
    Returns:
      Cumulative error count of all servlets in this StandardContext

  - ### getRealPath

    public String getRealPath(String path)
    Description copied from interface: `Context`
    Returns the real path for a given virtual path.
    Specified by:
      `getRealPath` in interface `Context`
    Parameters:
      `path` - The path to the desired resource
    Returns:
      the real path for a given virtual path, if possible; otherwise return `null`

  - ### dynamicServletCreated

    public void dynamicServletCreated(Servlet servlet)
    Hook to track which Servlets were created via `ServletContext.createServlet(Class)`.
    Parameters:
      `servlet` - the created Servlet

  - ### wasCreatedDynamicServlet

    public boolean wasCreatedDynamicServlet(Servlet servlet)
    Checks whether the given servlet was dynamically created by this context.
    Parameters:
      `servlet` - The servlet to check
    Returns:
      True if the servlet was dynamically created

  - ### filterStart

    public boolean filterStart()
    Configure and initialize the set of filters for this Context.
    Returns:
      `true` if all filter initialization completed successfully, or `false` otherwise.

  - ### filterStop

    public boolean filterStop()
    Finalize and release the set of filters for this Context.
    Returns:
      `true` if all filter finalization completed successfully, or `false` otherwise.

  - ### findFilterConfig

    public FilterConfig findFilterConfig(String name)
    Find and return the initialized `FilterConfig` for the specified filter name, if any; otherwise return `null`.
    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, or `false` otherwise.

  - ### listenerStop

    public boolean listenerStop()
    Send an application stop event to all interested listeners.
    Returns:
      `true` if all events were sent successfully, or `false` otherwise.

  - ### resourcesStart

    public void resourcesStart() throws LifecycleException
    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

    public boolean loadOnStartup(Container[] children)
    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

    protected void startInternal() throws LifecycleException
    Description copied from class: `ContainerBase`
    Start this component and implement the requirements of `LifecycleBase.startInternal()`.
    Overrides:
      `startInternal` in class `ContainerBase`
    Throws:
      `LifecycleException` - if this component detects a fatal error that prevents this component from being used

  - ### createInstanceManager

    public InstanceManager 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 interface `Context`
    Returns:
      the instance manager

  - ### stopInternal

    protected void stopInternal() throws LifecycleException
    Description copied from class: `ContainerBase`
    Stop this component and implement the requirements of `LifecycleBase.stopInternal()`.
    Overrides:
      `stopInternal` in class `ContainerBase`
    Throws:
      `LifecycleException` - if this component detects a fatal error that prevents this component from being used

  - ### destroyInternal

    protected void destroyInternal() throws LifecycleException
    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 class `ContainerBase`
    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 interface `Container`
    Overrides:
      `backgroundProcess` in class `ContainerBase`

  - ### adjustURLPattern

    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). 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 interface `Context`
    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 a `ServletRegistration.Dynamic`
    Specified by:
      `addServletSecurity` in interface `Context`
    Parameters:
      `registration` - Servlet security was modified for
      `servletSecurityElement` - new security constraints for this Servlet
    Returns:
      urls currently mapped to this registration that are already present in web.xml

  - ### bindThread

    protected ClassLoader 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

    protected void unbindThread(ClassLoader oldContextClassLoader)
    Unbind thread and restore the specified context classloader.
    Parameters:
      `oldContextClassLoader` - the previous classloader

  - ### bind

    public ClassLoader bind(boolean usePrivilegedAction, ClassLoader originalClassLoader)
    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 a `ThreadBindingListener` is configured then `ThreadBindingListener.bind()` will be called after the change has been made.
    Specified by:
      `bind` in interface `ContextBind`
    Parameters:
      `usePrivilegedAction` - Should a `PrivilegedAction` 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

    public void unbind(boolean usePrivilegedAction, ClassLoader originalClassLoader)
    Description copied from interface: `ContextBind`
    Restore the current thread context class loader to the original class loader in used before `ContextBind.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 a `ThreadBindingListener` is configured then `ThreadBindingListener.unbind()` will be called before the change is made.
    Specified by:
      `unbind` in interface `ContextBind`
    Parameters:
      `usePrivilegedAction` - Should a `PrivilegedAction` be used when setting the current thread context class loader?
      `originalClassLoader` - The class loader to restore as the thread context class loader

  - ### getNamingContextListener

    public NamingContextListener getNamingContextListener()
    Naming context listener accessor.
    Returns:
      the naming context listener associated with the webapp

  - ### setNamingContextListener

    public void setNamingContextListener(NamingContextListener namingContextListener)
    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?
    Specified by:
      `getPaused` in interface `Context`
    Returns:
      `true` if the context has been paused

  - ### fireRequestInitEvent

    public boolean fireRequestInitEvent(ServletRequest request)
    Description copied from interface: `Context`
    Notify all `ServletRequestListener`s that a request has started.
    Specified by:
      `fireRequestInitEvent` in interface `Context`
    Parameters:
      `request` - The request object that will be passed to the listener
    Returns:
      `true` if the listeners fire successfully, else `false`

  - ### fireRequestDestroyEvent

    public boolean fireRequestDestroyEvent(ServletRequest request)
    Description copied from interface: `Context`
    Notify all `ServletRequestListener`s that a request has ended.
    Specified by:
      `fireRequestDestroyEvent` in interface `Context`
    Parameters:
      `request` - The request object that will be passed to the listener
    Returns:
      `true` if the listeners fire successfully, else `false`

  - ### addPostConstructMethod

    public void addPostConstructMethod(String clazz, String method)
    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 interface `Context`
    Parameters:
      `clazz` - Fully qualified class name
      `method` - Post construct method name

  - ### removePostConstructMethod

    public void removePostConstructMethod(String clazz)
    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 interface `Context`
    Parameters:
      `clazz` - Fully qualified class name

  - ### addPreDestroyMethod

    public void addPreDestroyMethod(String clazz, String method)
    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 interface `Context`
    Parameters:
      `clazz` - Fully qualified class name
      `method` - Pre destroy method name

  - ### removePreDestroyMethod

    public void removePreDestroyMethod(String clazz)
    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 interface `Context`
    Parameters:
      `clazz` - Fully qualified class name

  - ### findPostConstructMethod

    public String findPostConstructMethod(String clazz)
    Description copied from interface: `Context`
    Returns the method name that is specified as post construct method for the given class, if it exists; otherwise `NULL` will be returned.
    Specified by:
      `findPostConstructMethod` in interface `Context`
    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

    public String findPreDestroyMethod(String clazz)
    Description copied from interface: `Context`
    Returns the method name that is specified as pre destroy method for the given class, if it exists; otherwise `NULL` will be returned.
    Specified by:
      `findPreDestroyMethod` in interface `Context`
    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

    public Map<String,String> 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 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.

  - ### findPreDestroyMethods

    public Map<String,String> 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 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.

  - ### postWorkDirectory

    protected void postWorkDirectory()
    Set the appropriate context attribute for our work directory.

  - ### getObjectNameKeyProperties

    protected String getObjectNameKeyProperties()
    Description copied from class: `LifecycleMBeanBase`
    Allow subclasses to specify the key properties component of the `ObjectName` that will be used to register this component.
    Specified by:
      `getObjectNameKeyProperties` in class `LifecycleMBeanBase`
    Returns:
      The string representation of the key properties component of the desired `ObjectName`

  - ### initInternal

    protected void initInternal() throws LifecycleException
    Description copied from class: `LifecycleBase`
    Subclasses implement this method to perform any instance initialisation required.
    Overrides:
      `initInternal` in class `LifecycleMBeanBase`
    Throws:
      `LifecycleException` - If the initialisation fails

  - ### removeNotificationListener

    public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object object) throws ListenerNotFoundException
    Specified by:
      `removeNotificationListener` in interface `NotificationEmitter`
    Throws:
      `ListenerNotFoundException`

  - ### getNotificationInfo

    public MBeanNotificationInfo[] getNotificationInfo()
    Specified by:
      `getNotificationInfo` in interface `NotificationBroadcaster`

  - ### addNotificationListener

    public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object object) throws IllegalArgumentException
    Specified by:
      `addNotificationListener` in interface `NotificationBroadcaster`
    Throws:
      `IllegalArgumentException`

  - ### removeNotificationListener

    public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
    Specified by:
      `removeNotificationListener` in interface `NotificationBroadcaster`
    Throws:
      `ListenerNotFoundException`

  - ### getWelcomeFiles

    public String[] getWelcomeFiles()
    Return the welcome files for this web application.
    Returns:
      the welcome files

  - ### 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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    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 interface `Context`
    Returns:
      true if validation is enabled.

  - ### getServer

    public String getServer()
    Returns the J2EE Server ObjectName this module is deployed on.
    Returns:
      The server ObjectName

  - ### setServer

    public String setServer(String server)
    Sets the J2EE Server ObjectName this module is deployed on.
    Parameters:
      `server` - The server ObjectName
    Returns:
      The previous server value

  - ### 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