org.apache.catalina.core
Class StandardContext

java.lang.Object
  extended byorg.apache.catalina.core.ContainerBase
      extended byorg.apache.catalina.core.StandardContext
All Implemented Interfaces:
Container, Context, Lifecycle, Pipeline

public class StandardContext
extends ContainerBase
implements Context

Standard implementation of the Context interface. Each child container must be a Wrapper implementation to process the requests directed to a particular servlet.

Version:
$Revision: 1.125 $ $Date: 2004/08/26 21:32:20 $
Author:
Craig R. McClanahan, Remy Maucherat

Nested Class Summary
 
Nested classes inherited from class org.apache.catalina.core.ContainerBase
ContainerBase.PrivilegedAddChild
 
Field Summary
protected  boolean cachingAllowed
          Caching allowed flag.
protected  javax.naming.directory.DirContext webappResources
          Non proxied resources.
 
Fields inherited from class org.apache.catalina.core.ContainerBase
children, cluster, debug, lifecycle, listeners, loader, logger, manager, mapper, mappers, name, parent, parentClassLoader, pipeline, realm, resources, sm, started, support
 
Fields inherited from interface org.apache.catalina.Context
RELOAD_EVENT
 
Fields inherited from interface org.apache.catalina.Container
ADD_CHILD_EVENT, ADD_MAPPER_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_MAPPER_EVENT, REMOVE_VALVE_EVENT
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
StandardContext()
          Create a new StandardContext component with the default basic Valve.
 
Method Summary
 void addApplicationListener(java.lang.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 child Container, only if the proposed child is an implementation of Wrapper.
 void addConstraint(SecurityConstraint constraint)
          Add a security constraint to the set for this web application.
protected  void addDefaultMapper(java.lang.String mapperClass)
          Add a default Mapper implementation if none have been configured explicitly.
 void addEjb(ContextEjb ejb)
          Add an EJB resource reference for this web application.
 void addEnvironment(ContextEnvironment environment)
          Add an environment entry 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 addInstanceListener(java.lang.String listener)
          Add the classname of an InstanceListener to be added to each Wrapper appended to this Context.
 void addLocalEjb(ContextLocalEjb ejb)
          Add a local EJB resource reference for this web application.
 void addMimeMapping(java.lang.String extension, java.lang.String mimeType)
          Add a new MIME mapping, replacing any existing mapping for the specified extension.
 void addParameter(java.lang.String name, java.lang.String value)
          Add a new context initialization parameter.
 void addResource(ContextResource resource)
          Add a resource reference for this web application.
 void addResourceEnvRef(java.lang.String name, java.lang.String type)
          Add a resource environment reference for this web application.
 void addResourceLink(ContextResourceLink resourceLink)
          Add a resource link for this web application.
 void addResourceParams(ResourceParams resourceParameters)
          Add resource parameters for this web application.
 void addRoleMapping(java.lang.String role, java.lang.String link)
          Add a security role reference for this web application.
 void addSecurityRole(java.lang.String role)
          Add a new security role for this web application.
 void addServletMapping(java.lang.String pattern, java.lang.String name)
          Add a new servlet mapping, replacing any existing mapping for the specified pattern.
 void addTaglib(java.lang.String uri, java.lang.String location)
          Add a JSP tag library for the specified URI.
 void addWelcomeFile(java.lang.String name)
          Add a new welcome file to the set recognized by this Context.
 void addWrapperLifecycle(java.lang.String listener)
          Add the classname of a LifecycleListener to be added to each Wrapper appended to this Context.
 void addWrapperListener(java.lang.String listener)
          Add the classname of a ContainerListener to be added to each Wrapper appended to this Context.
protected  java.lang.String adjustURLPattern(java.lang.String urlPattern)
          Adjust the URL pattern to begin with a leading slash, if appropriate (i.e.
 Wrapper createWrapper()
          Factory method to create and return a new Wrapper instance, of the Java implementation class appropriate for this Context implementation.
protected  java.io.File engineBase()
          Return a File object representing the base directory for the entire servlet container (i.e.
 boolean filterStart()
          Configure and initialize the set of filters for this Context.
 boolean filterStop()
          Finalize and release the set of filters for this Context.
 java.lang.String[] findApplicationListeners()
          Return the set of application listener class names configured for this application.
 ApplicationParameter[] findApplicationParameters()
          Return the set of application parameters for this application.
 SecurityConstraint[] findConstraints()
          Return the security constraints for this web application.
 ContextEjb findEjb(java.lang.String name)
          Return the EJB resource reference with the specified name, if any; otherwise, return null.
 ContextEjb[] findEjbs()
          Return the defined EJB resource references for this application.
 ContextEnvironment findEnvironment(java.lang.String name)
          Return the environment entry with the specified name, if any; otherwise, return null.
 ContextEnvironment[] findEnvironments()
          Return the set of defined environment entries for this web application.
 ErrorPage findErrorPage(int errorCode)
          Return the error page entry for the specified HTTP error code, if any; otherwise return null.
 ErrorPage findErrorPage(java.lang.String exceptionType)
          Return the error page entry for the specified Java exception type, if any; otherwise return null.
 ErrorPage[] findErrorPages()
          Return the set of defined error pages for all specified error codes and exception types.
 javax.servlet.FilterConfig findFilterConfig(java.lang.String name)
          Find and return the initialized FilterConfig for the specified filter name, if any; otherwise return null.
 FilterDef findFilterDef(java.lang.String filterName)
          Return the filter definition for the specified filter name, if any; otherwise return null.
 FilterDef[] findFilterDefs()
          Return the set of defined filters for this Context.
 FilterMap[] findFilterMaps()
          Return the set of filter mappings for this Context.
 java.lang.String[] findInstanceListeners()
          Return the set of InstanceListener classes that will be added to newly created Wrappers automatically.
 ContextLocalEjb findLocalEjb(java.lang.String name)
          Return the local EJB resource reference with the specified name, if any; otherwise, return null.
 ContextLocalEjb[] findLocalEjbs()
          Return the defined local EJB resource references for this application.
 java.lang.String findMimeMapping(java.lang.String extension)
          Return the MIME type to which the specified extension is mapped, if any; otherwise return null.
 java.lang.String[] findMimeMappings()
          Return the extensions for which MIME mappings are defined.
 java.lang.String findParameter(java.lang.String name)
          Return the value for the specified context initialization parameter name, if any; otherwise return null.
 java.lang.String[] findParameters()
          Return the names of all defined context initialization parameters for this Context.
 ContextResource findResource(java.lang.String name)
          Return the resource reference with the specified name, if any; otherwise return null.
 java.lang.String findResourceEnvRef(java.lang.String name)
          Return the resource environment reference type for the specified name, if any; otherwise return null.
 java.lang.String[] findResourceEnvRefs()
          Return the set of resource environment reference names for this web application.
 ContextResourceLink findResourceLink(java.lang.String name)
          Return the resource link with the specified name, if any; otherwise return null.
 ContextResourceLink[] findResourceLinks()
          Return the defined resource links for this application.
 ContextResource[] findResources()
          Return the defined resource references for this application.
 java.lang.String findRoleMapping(java.lang.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(java.lang.String role)
          Return true if the specified security role is defined for this application; otherwise return false.
 java.lang.String[] findSecurityRoles()
          Return the security roles defined for this application.
 java.lang.String findServletMapping(java.lang.String pattern)
          Return the servlet name mapped by the specified pattern (if any); otherwise return null.
 java.lang.String[] findServletMappings()
          Return the patterns of all defined servlet mappings for this Context.
 java.lang.String findStatusPage(int status)
          Return the context-relative URI of the error page for the specified HTTP status code, if any; otherwise return null.
 int[] findStatusPages()
          Return the set of HTTP status codes for which error pages have been specified.
 java.lang.String findTaglib(java.lang.String uri)
          Return the tag library descriptor location for the specified taglib URI, if any; otherwise, return null.
 java.lang.String[] findTaglibs()
          Return the URIs of all tag libraries for which a tag library descriptor location has been specified.
 boolean findWelcomeFile(java.lang.String name)
          Return true if the specified welcome file is defined for this Context; otherwise return false.
 java.lang.String[] findWelcomeFiles()
          Return the set of welcome files defined for this Context.
 java.lang.String[] findWrapperLifecycles()
          Return the set of LifecycleListener classes that will be added to newly created Wrappers automatically.
 java.lang.String[] findWrapperListeners()
          Return the set of ContainerListener classes that will be added to newly created Wrappers automatically.
 java.lang.Object[] getApplicationListeners()
          Return the set of initialized application listener objects, in the order they were specified in the web application deployment descriptor, for this application.
 boolean getAvailable()
          Return the application available flag for this Context.
 CharsetMapper getCharsetMapper()
          Return the Locale to character set mapper for this Context.
 java.lang.String getCharsetMapperClass()
          Return the Locale to character set mapper class for this Context.
 boolean getConfigured()
          Return the "correctly configured" flag for this Context.
 boolean getCookies()
          Return the "use cookies for session ids" flag.
 boolean getCrossContext()
          Return the "allow crossing servlet contexts" flag.
 java.lang.String getDisplayName()
          Return the display name of this web application.
 boolean getDistributable()
          Return the distributable flag for this web application.
 java.lang.String getDocBase()
          Return the document root for this Context.
 java.lang.String getInfo()
          Return descriptive information about this Container implementation and the corresponding version number, in the format <description>/<version>.
 LoginConfig getLoginConfig()
          Return the login configuration descriptor for this web application.
 java.lang.String getMapperClass()
          Return the default Mapper class name.
 NamingResources getNamingResources()
          Return the naming resources associated with this web application.
 boolean getOverride()
          Return the DefaultContext override flag for this web application.
 java.lang.String getPath()
          Return the context path for this Context.
 boolean getPrivileged()
          Return the privileged flag for this web application.
 java.lang.String getPublicId()
          Return the public identifier of the deployment descriptor DTD that is currently being parsed.
 boolean getReloadable()
          Return the reloadable flag for this web application.
 javax.servlet.ServletContext getServletContext()
          Return the servlet context for which this Context is a facade.
 int getSessionTimeout()
          Return the default session timeout (in minutes) for this web application.
 boolean getSwallowOutput()
          Return the value of the swallowOutput flag.
 java.lang.String getWorkDir()
          Return the work directory for this Context.
 java.lang.String getWrapperClass()
          Return the Java class name of the Wrapper implementation used for servlets registered in this Context.
 void invoke(Request request, Response response)
          Process the specified Request, and generate the corresponding Response, according to the design of this particular Container.
 boolean isCachingAllowed()
          Is caching allowed ?
 boolean isFilesystemBased()
          Returns true if the resources associated with this context are filesystem based.
 boolean isReplaceWelcomeFiles()
          Return the "replace welcome files" property.
protected  boolean isServlet22()
          Are we processing a version 2.2 deployment descriptor?
 boolean isUseNaming()
          Returns true if the 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.
 void loadOnStartup(Container[] children)
          Load and initialize all servlets marked "load on startup" in the web application deployment descriptor.
 void reload()
          Reload this web application, if reloading is supported.
 void removeApplicationListener(java.lang.String listener)
          Remove the specified application listener class from the set of listeners for this application.
 void removeApplicationParameter(java.lang.String name)
          Remove the application parameter with the specified name from the set for this application.
 void removeConstraint(SecurityConstraint constraint)
          Remove the specified security constraint from this web application.
 void removeEjb(java.lang.String name)
          Remove any EJB resource reference with the specified name.
 void removeEnvironment(java.lang.String name)
          Remove any environment entry with the specified name.
 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 removeInstanceListener(java.lang.String listener)
          Remove a class name from the set of InstanceListener classes that will be added to newly created Wrappers.
 void removeLocalEjb(java.lang.String name)
          Remove any local EJB resource reference with the specified name.
 void removeMimeMapping(java.lang.String extension)
          Remove the MIME mapping for the specified extension, if it exists; otherwise, no action is taken.
 void removeParameter(java.lang.String name)
          Remove the context initialization parameter with the specified name, if it exists; otherwise, no action is taken.
 void removeResource(java.lang.String name)
          Remove any resource reference with the specified name.
 void removeResourceEnvRef(java.lang.String name)
          Remove any resource environment reference with the specified name.
 void removeResourceLink(java.lang.String name)
          Remove any resource link with the specified name.
 void removeRoleMapping(java.lang.String role)
          Remove any security role reference for the specified name
 void removeSecurityRole(java.lang.String role)
          Remove any security role with the specified name.
 void removeServletMapping(java.lang.String pattern)
          Remove any servlet mapping for the specified pattern, if it exists; otherwise, no action is taken.
 void removeTaglib(java.lang.String uri)
          Remove the tag library location forthe specified tag library URI.
 void removeWelcomeFile(java.lang.String name)
          Remove the specified welcome file name from the list recognized by this Context.
 void removeWrapperLifecycle(java.lang.String listener)
          Remove a class name from the set of LifecycleListener classes that will be added to newly created Wrappers.
 void removeWrapperListener(java.lang.String listener)
          Remove a class name from the set of ContainerListener classes that will be added to newly created Wrappers.
 boolean resourcesStart()
          Allocate resources, including proxy.
 boolean resourcesStop()
          Deallocate resources and destroy proxy.
 void setApplicationListeners(java.lang.Object[] listeners)
          Store the set of initialized application listener objects, in the order they were specified in the web application deployment descriptor, for this application.
 void setAvailable(boolean available)
          Set the application available flag for this Context.
 void setCachingAllowed(boolean cachingAllowed)
          Set caching allowed flag.
 void setCharsetMapper(CharsetMapper mapper)
          Set the Locale to character set mapper for this Context.
 void setCharsetMapperClass(java.lang.String mapper)
          Set the Locale to character set mapper class for this Context.
 void setConfigured(boolean configured)
          Set the "correctly configured" flag for this Context.
 void setCookies(boolean cookies)
          Set the "use cookies for session ids" flag.
 void setCrossContext(boolean crossContext)
          Set the "allow crossing servlet contexts" flag.
 void setDisplayName(java.lang.String displayName)
          Set the display name of this web application.
 void setDistributable(boolean distributable)
          Set the distributable flag for this web application.
 void setDocBase(java.lang.String docBase)
          Set the document root for this Context.
 void setLoader(Loader loader)
          Set the Loader with which this Context is associated.
 void setLoginConfig(LoginConfig config)
          Set the login configuration descriptor for this web application.
 void setMapperClass(java.lang.String mapperClass)
          Set the default Mapper class name.
 void setNamingResources(NamingResources namingResources)
          Set the naming resources for this web application.
 void setOverride(boolean override)
          Set the DefaultContext override flag for this web application.
 void setPath(java.lang.String path)
          Set the context path for this Context.
 void setPrivileged(boolean privileged)
          Set the privileged flag for this web application.
 void setPublicId(java.lang.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 setReplaceWelcomeFiles(boolean replaceWelcomeFiles)
          Set the "replace welcome files" property.
 void setResources(javax.naming.directory.DirContext resources)
          Set the resources DirContext object with which this Container is associated.
 void setSessionTimeout(int timeout)
          Set the default session timeout (in minutes) for this web application.
 void setSwallowOutput(boolean swallowOutput)
          Set the value of the swallowOutput flag.
 void setUseNaming(boolean useNaming)
          Enables or disables naming.
 void setWorkDir(java.lang.String workDir)
          Set the work directory for this Context.
 void setWrapperClass(java.lang.String wrapperClass)
          Set the Java class name of the Wrapper implementation used for servlets registered in this Context.
 void start()
          Start this Context component.
 void stop()
          Stop this Context component.
 java.lang.String toString()
          Return a String representation of this component.
 
Methods inherited from class org.apache.catalina.core.ContainerBase
addContainerListener, addLifecycleListener, addMapper, addPropertyChangeListener, addValve, findChild, findChildren, findContainerListeners, findLifecycleListeners, findMapper, findMappers, fireContainerEvent, getBasic, getCluster, getDebug, getLoader, getLogger, getManager, getName, getParent, getParentClassLoader, getPipeline, getRealm, getResources, getValves, log, log, logName, map, removeChild, removeContainerListener, removeLifecycleListener, removeMapper, removePropertyChangeListener, removeValve, setBasic, setCluster, setDebug, setLogger, setManager, setName, setParent, setParentClassLoader, setRealm
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.catalina.Container
addContainerListener, addMapper, addPropertyChangeListener, findChild, findChildren, findContainerListeners, findMapper, findMappers, getCluster, getLoader, getLogger, getManager, getName, getParent, getParentClassLoader, getRealm, getResources, map, removeChild, removeContainerListener, removeMapper, removePropertyChangeListener, setCluster, setLogger, setManager, setName, setParent, setParentClassLoader, setRealm
 

Field Detail

cachingAllowed

protected boolean cachingAllowed
Caching allowed flag.


webappResources

protected javax.naming.directory.DirContext webappResources
Non proxied resources.

Constructor Detail

StandardContext

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

Method Detail

isCachingAllowed

public boolean isCachingAllowed()
Is caching allowed ?


setCachingAllowed

public void setCachingAllowed(boolean cachingAllowed)
Set caching allowed flag.


isUseNaming

public boolean isUseNaming()
Returns true if the internal naming support is used.


setUseNaming

public void setUseNaming(boolean useNaming)
Enables or disables naming.


isFilesystemBased

public boolean isFilesystemBased()
Returns true if the resources associated with this context are filesystem based.


getApplicationListeners

public java.lang.Object[] getApplicationListeners()
Return the set of initialized application listener objects, in the order they were specified in the web application deployment descriptor, for this application.

Specified by:
getApplicationListeners in interface Context
Throws:
java.lang.IllegalStateException - if this method is called before this application has started, or after it has been stopped

setApplicationListeners

public void setApplicationListeners(java.lang.Object[] listeners)
Store the set of initialized application listener objects, in the order they were specified in the web application deployment descriptor, for this application.

Specified by:
setApplicationListeners in interface Context
Parameters:
listeners - The set of instantiated listener objects.

getAvailable

public boolean getAvailable()
Return the application available flag for this Context.

Specified by:
getAvailable in interface Context

setAvailable

public void setAvailable(boolean available)
Set the application available flag for this Context.

Specified by:
setAvailable in interface Context
Parameters:
available - The new application available flag

getCharsetMapper

public CharsetMapper getCharsetMapper()
Return the Locale to character set mapper for this Context.

Specified by:
getCharsetMapper in interface Context

setCharsetMapper

public void setCharsetMapper(CharsetMapper mapper)
Set the Locale to character set mapper for this Context.

Specified by:
setCharsetMapper in interface Context
Parameters:
mapper - The new mapper

getConfigured

public boolean getConfigured()
Return the "correctly configured" flag for this Context.

Specified by:
getConfigured in interface Context

setConfigured

public void setConfigured(boolean configured)
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()
Return the "use cookies for session ids" flag.

Specified by:
getCookies in interface Context

setCookies

public void setCookies(boolean cookies)
Set the "use cookies for session ids" flag.

Specified by:
setCookies in interface Context
Parameters:
cookies - The new flag

getCrossContext

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

Specified by:
getCrossContext in interface Context

setCrossContext

public void setCrossContext(boolean crossContext)
Set the "allow crossing servlet contexts" flag.

Specified by:
setCrossContext in interface Context
Parameters:
crossContext - The new cross contexts flag

getDisplayName

public java.lang.String getDisplayName()
Return the display name of this web application.

Specified by:
getDisplayName in interface Context

setDisplayName

public void setDisplayName(java.lang.String displayName)
Set the display name of this web application.

Specified by:
setDisplayName in interface Context
Parameters:
displayName - The new display name

getDistributable

public boolean getDistributable()
Return the distributable flag for this web application.

Specified by:
getDistributable in interface Context

setDistributable

public void setDistributable(boolean distributable)
Set the distributable flag for this web application.

Specified by:
setDistributable in interface Context
Parameters:
distributable - The new distributable flag

getDocBase

public java.lang.String getDocBase()
Return the document root for this Context. This can be an absolute pathname, a relative pathname, or a URL.

Specified by:
getDocBase in interface Context

setDocBase

public void setDocBase(java.lang.String docBase)
Set the document root for this Context. This can be an absolute pathname, a relative pathname, or a URL.

Specified by:
setDocBase in interface Context
Parameters:
docBase - The new document root

getInfo

public java.lang.String getInfo()
Return descriptive information about this Container implementation and the corresponding version number, in the format <description>/<version>.

Specified by:
getInfo in interface Container
Specified by:
getInfo in class ContainerBase

setLoader

public void setLoader(Loader loader)
Set the Loader with which this Context is associated.

Specified by:
setLoader in interface Container
Overrides:
setLoader in class ContainerBase
Parameters:
loader - The newly associated loader

getLoginConfig

public LoginConfig getLoginConfig()
Return the login configuration descriptor for this web application.

Specified by:
getLoginConfig in interface Context

setLoginConfig

public void setLoginConfig(LoginConfig config)
Set the login configuration descriptor for this web application.

Specified by:
setLoginConfig in interface Context
Parameters:
config - The new login configuration

getNamingResources

public NamingResources getNamingResources()
Return the naming resources associated with this web application.

Specified by:
getNamingResources in interface Context

setNamingResources

public void setNamingResources(NamingResources namingResources)
Set the naming resources for this web application.

Specified by:
setNamingResources in interface Context
Parameters:
namingResources - The new naming resources

getPath

public java.lang.String getPath()
Return the context path for this Context.

Specified by:
getPath in interface Context

setPath

public void setPath(java.lang.String path)
Set the context path for this Context.

IMPLEMENTATION NOTE: The context path is used as the "name" of a Context, because it must be unique.

Specified by:
setPath in interface Context
Parameters:
path - The new context path

getPublicId

public java.lang.String getPublicId()
Return the public identifier of the deployment descriptor DTD that is currently being parsed.

Specified by:
getPublicId in interface Context

setPublicId

public void setPublicId(java.lang.String publicId)
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()
Return the reloadable flag for this web application.

Specified by:
getReloadable in interface Context

getOverride

public boolean getOverride()
Return the DefaultContext override flag for this web application.

Specified by:
getOverride in interface Context

getPrivileged

public boolean getPrivileged()
Return the privileged flag for this web application.

Specified by:
getPrivileged in interface Context

setPrivileged

public void setPrivileged(boolean privileged)
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)
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)
Set the DefaultContext override flag for this web application.

Specified by:
setOverride in interface Context
Parameters:
override - The new override flag

isReplaceWelcomeFiles

public boolean isReplaceWelcomeFiles()
Return the "replace welcome files" property.


setReplaceWelcomeFiles

public void setReplaceWelcomeFiles(boolean replaceWelcomeFiles)
Set the "replace welcome files" property.

Parameters:
replaceWelcomeFiles - The new property value

getServletContext

public javax.servlet.ServletContext getServletContext()
Return the servlet context for which this Context is a facade.

Specified by:
getServletContext in interface Context

getSessionTimeout

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

Specified by:
getSessionTimeout in interface Context

setSessionTimeout

public void setSessionTimeout(int timeout)
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()
Return the value of the swallowOutput flag.


setSwallowOutput

public void setSwallowOutput(boolean swallowOutput)
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.


getWrapperClass

public java.lang.String getWrapperClass()
Return the Java class name of the Wrapper implementation used for servlets registered in this Context.

Specified by:
getWrapperClass in interface Context

setWrapperClass

public void setWrapperClass(java.lang.String wrapperClass)
Set the Java class name of the Wrapper implementation used for servlets registered in this Context.

Specified by:
setWrapperClass in interface Context
Parameters:
wrapperClass - The new wrapper class

setResources

public void setResources(javax.naming.directory.DirContext resources)
Set the resources DirContext object with which this Container is associated.

Specified by:
setResources in interface Container
Overrides:
setResources in class ContainerBase
Parameters:
resources - The newly associated DirContext

getCharsetMapperClass

public java.lang.String getCharsetMapperClass()
Return the Locale to character set mapper class for this Context.


setCharsetMapperClass

public void setCharsetMapperClass(java.lang.String mapper)
Set the Locale to character set mapper class for this Context.

Parameters:
mapper - The new mapper class

getMapperClass

public java.lang.String getMapperClass()
Return the default Mapper class name.


setMapperClass

public void setMapperClass(java.lang.String mapperClass)
Set the default Mapper class name.

Parameters:
mapperClass - The new default Mapper class name

getWorkDir

public java.lang.String getWorkDir()
Return the work directory for this Context.


setWorkDir

public void setWorkDir(java.lang.String workDir)
Set the work directory for this Context.

Parameters:
workDir - The new work directory

addApplicationListener

public void addApplicationListener(java.lang.String listener)
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)
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)
Add a child Container, only if the proposed child is an implementation of Wrapper.

Specified by:
addChild in interface Container
Overrides:
addChild in class ContainerBase
Parameters:
child - Child container to be added
Throws:
java.lang.IllegalArgumentException - if the proposed container is not an implementation of Wrapper

addConstraint

public void addConstraint(SecurityConstraint constraint)
Add a security constraint to the set for this web application.

Specified by:
addConstraint in interface Context

addEjb

public void addEjb(ContextEjb ejb)
Add an EJB resource reference for this web application.

Specified by:
addEjb in interface Context
Parameters:
ejb - New EJB resource reference

addEnvironment

public void addEnvironment(ContextEnvironment environment)
Add an environment entry for this web application.

Specified by:
addEnvironment in interface Context
Parameters:
environment - New environment entry

addResourceParams

public void addResourceParams(ResourceParams resourceParameters)
Add resource parameters for this web application.

Parameters:
resourceParameters - New resource parameters

addErrorPage

public void addErrorPage(ErrorPage errorPage)
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)
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)
Add a filter mapping to this Context.

Specified by:
addFilterMap in interface Context
Parameters:
filterMap - The filter mapping to be added
Throws:
java.lang.IllegalArgumentException - if the specified filter name does not match an existing filter definition, or the filter mapping is malformed

addInstanceListener

public void addInstanceListener(java.lang.String listener)
Add the classname of an InstanceListener to be added to each Wrapper appended to this Context.

Specified by:
addInstanceListener in interface Context
Parameters:
listener - Java class name of an InstanceListener class

addLocalEjb

public void addLocalEjb(ContextLocalEjb ejb)
Add a local EJB resource reference for this web application.

Specified by:
addLocalEjb in interface Context
Parameters:
ejb - New EJB resource reference

addMimeMapping

public void addMimeMapping(java.lang.String extension,
                           java.lang.String mimeType)
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(java.lang.String name,
                         java.lang.String value)
Add a new context initialization parameter.

Specified by:
addParameter in interface Context
Parameters:
name - Name of the new parameter
value - Value of the new parameter
Throws:
java.lang.IllegalArgumentException - if the name or value is missing, or if this context initialization parameter has already been registered

addResource

public void addResource(ContextResource resource)
Add a resource reference for this web application.

Specified by:
addResource in interface Context
Parameters:
resource - New resource reference

addResourceEnvRef

public void addResourceEnvRef(java.lang.String name,
                              java.lang.String type)
Add a resource environment reference for this web application.

Specified by:
addResourceEnvRef in interface Context
Parameters:
name - The resource environment reference name
type - The resource environment reference type

addResourceLink

public void addResourceLink(ContextResourceLink resourceLink)
Add a resource link for this web application.

Specified by:
addResourceLink in interface Context
Parameters:
resourceLink - New resource link

addRoleMapping

public void addRoleMapping(java.lang.String role,
                           java.lang.String link)
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(java.lang.String role)
Add a new security role for this web application.

Specified by:
addSecurityRole in interface Context
Parameters:
role - New security role

addServletMapping

public void addServletMapping(java.lang.String pattern,
                              java.lang.String name)
Add a new servlet mapping, replacing any existing mapping for the specified pattern.

Specified by:
addServletMapping in interface Context
Parameters:
pattern - URL pattern to be mapped
name - Name of the corresponding servlet to execute
Throws:
java.lang.IllegalArgumentException - if the specified servlet name is not known to this Context

addTaglib

public void addTaglib(java.lang.String uri,
                      java.lang.String location)
Add a JSP tag library for the specified URI.

Specified by:
addTaglib in interface Context
Parameters:
uri - URI, relative to the web.xml file, of this tag library
location - Location of the tag library descriptor

addWelcomeFile

public void addWelcomeFile(java.lang.String name)
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(java.lang.String listener)
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(java.lang.String listener)
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()
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

findApplicationListeners

public java.lang.String[] findApplicationListeners()
Return the set of application listener class names configured for this application.

Specified by:
findApplicationListeners in interface Context

findApplicationParameters

public ApplicationParameter[] findApplicationParameters()
Return the set of application parameters for this application.

Specified by:
findApplicationParameters in interface Context

findConstraints

public SecurityConstraint[] findConstraints()
Return the security constraints for this web application. If there are none, a zero-length array is returned.

Specified by:
findConstraints in interface Context

findEjb

public ContextEjb findEjb(java.lang.String name)
Return the EJB resource reference with the specified name, if any; otherwise, return null.

Specified by:
findEjb in interface Context
Parameters:
name - Name of the desired EJB resource reference

findEjbs

public ContextEjb[] findEjbs()
Return the defined EJB resource references for this application. If there are none, a zero-length array is returned.

Specified by:
findEjbs in interface Context

findEnvironment

public ContextEnvironment findEnvironment(java.lang.String name)
Return the environment entry with the specified name, if any; otherwise, return null.

Specified by:
findEnvironment in interface Context
Parameters:
name - Name of the desired environment entry

findEnvironments

public ContextEnvironment[] findEnvironments()
Return the set of defined environment entries for this web application. If none have been defined, a zero-length array is returned.

Specified by:
findEnvironments in interface Context

findErrorPage

public ErrorPage findErrorPage(int errorCode)
Return the error page entry for the specified HTTP error code, if any; otherwise return null.

Specified by:
findErrorPage in interface Context
Parameters:
errorCode - Error code to look up

findErrorPage

public ErrorPage findErrorPage(java.lang.String exceptionType)
Return the error page entry for the specified Java exception type, if any; otherwise return null.

Specified by:
findErrorPage in interface Context
Parameters:
exceptionType - Exception type to look up

findErrorPages

public ErrorPage[] findErrorPages()
Return the set of defined error pages for all specified error codes and exception types.

Specified by:
findErrorPages in interface Context

findFilterDef

public FilterDef findFilterDef(java.lang.String filterName)
Return the filter definition for the specified filter name, if any; otherwise return null.

Specified by:
findFilterDef in interface Context
Parameters:
filterName - Filter name to look up

findFilterDefs

public FilterDef[] findFilterDefs()
Return the set of defined filters for this Context.

Specified by:
findFilterDefs in interface Context

findFilterMaps

public FilterMap[] findFilterMaps()
Return the set of filter mappings for this Context.

Specified by:
findFilterMaps in interface Context

findInstanceListeners

public java.lang.String[] findInstanceListeners()
Return the set of InstanceListener classes that will be added to newly created Wrappers automatically.

Specified by:
findInstanceListeners in interface Context

findLocalEjb

public ContextLocalEjb findLocalEjb(java.lang.String name)
Return the local EJB resource reference with the specified name, if any; otherwise, return null.

Specified by:
findLocalEjb in interface Context
Parameters:
name - Name of the desired EJB resource reference

findLocalEjbs

public ContextLocalEjb[] findLocalEjbs()
Return the defined local EJB resource references for this application. If there are none, a zero-length array is returned.

Specified by:
findLocalEjbs in interface Context

findMimeMapping

public java.lang.String findMimeMapping(java.lang.String extension)
Return the MIME type to which the specified extension is mapped, if any; otherwise return null.

Specified by:
findMimeMapping in interface Context
Parameters:
extension - Extension to map to a MIME type

findMimeMappings

public java.lang.String[] findMimeMappings()
Return the extensions for which MIME mappings are defined. If there are none, a zero-length array is returned.

Specified by:
findMimeMappings in interface Context

findParameter

public java.lang.String findParameter(java.lang.String name)
Return the value for the specified context initialization parameter name, if any; otherwise return null.

Specified by:
findParameter in interface Context
Parameters:
name - Name of the parameter to return

findParameters

public java.lang.String[] findParameters()
Return the names of all defined context initialization parameters for this Context. If no parameters are defined, a zero-length array is returned.

Specified by:
findParameters in interface Context

findResource

public ContextResource findResource(java.lang.String name)
Return the resource reference with the specified name, if any; otherwise return null.

Specified by:
findResource in interface Context
Parameters:
name - Name of the desired resource reference

findResourceEnvRef

public java.lang.String findResourceEnvRef(java.lang.String name)
Return the resource environment reference type for the specified name, if any; otherwise return null.

Specified by:
findResourceEnvRef in interface Context
Parameters:
name - Name of the desired resource environment reference

findResourceEnvRefs

public java.lang.String[] findResourceEnvRefs()
Return the set of resource environment reference names for this web application. If none have been specified, a zero-length array is returned.

Specified by:
findResourceEnvRefs in interface Context

findResourceLink

public ContextResourceLink findResourceLink(java.lang.String name)
Return the resource link with the specified name, if any; otherwise return null.

Specified by:
findResourceLink in interface Context
Parameters:
name - Name of the desired resource link

findResourceLinks

public ContextResourceLink[] findResourceLinks()
Return the defined resource links for this application. If none have been defined, a zero-length array is returned.

Specified by:
findResourceLinks in interface Context

findResources

public ContextResource[] findResources()
Return the defined resource references for this application. If none have been defined, a zero-length array is returned.

Specified by:
findResources in interface Context

findRoleMapping

public java.lang.String findRoleMapping(java.lang.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. Otherwise, return the specified role unchanged.

Specified by:
findRoleMapping in interface Context
Parameters:
role - Security role to map

findSecurityRole

public boolean findSecurityRole(java.lang.String role)
Return true if the specified security role is defined for this application; otherwise return false.

Specified by:
findSecurityRole in interface Context
Parameters:
role - Security role to verify

findSecurityRoles

public java.lang.String[] findSecurityRoles()
Return the security roles defined for this application. If none have been defined, a zero-length array is returned.

Specified by:
findSecurityRoles in interface Context

findServletMapping

public java.lang.String findServletMapping(java.lang.String pattern)
Return the servlet name mapped by the specified pattern (if any); otherwise return null.

Specified by:
findServletMapping in interface Context
Parameters:
pattern - Pattern for which a mapping is requested

findServletMappings

public java.lang.String[] findServletMappings()
Return the patterns of all defined servlet mappings for this Context. If no mappings are defined, a zero-length array is returned.

Specified by:
findServletMappings in interface Context

findStatusPage

public java.lang.String findStatusPage(int status)
Return the context-relative URI of the error page for the specified HTTP status code, if any; otherwise return null.

Specified by:
findStatusPage in interface Context
Parameters:
status - HTTP status code to look up

findStatusPages

public int[] findStatusPages()
Return the set of HTTP status codes for which error pages have been specified. If none are specified, a zero-length array is returned.

Specified by:
findStatusPages in interface Context

findTaglib

public java.lang.String findTaglib(java.lang.String uri)
Return the tag library descriptor location for the specified taglib URI, if any; otherwise, return null.

Specified by:
findTaglib in interface Context
Parameters:
uri - URI, relative to the web.xml file

findTaglibs

public java.lang.String[] findTaglibs()
Return the URIs of all tag libraries for which a tag library descriptor location has been specified. If none are specified, a zero-length array is returned.

Specified by:
findTaglibs in interface Context

findWelcomeFile

public boolean findWelcomeFile(java.lang.String name)
Return true if the specified welcome file is defined for this Context; otherwise return false.

Specified by:
findWelcomeFile in interface Context
Parameters:
name - Welcome file to verify

findWelcomeFiles

public java.lang.String[] findWelcomeFiles()
Return the set of welcome files defined for this Context. If none are defined, a zero-length array is returned.

Specified by:
findWelcomeFiles in interface Context

findWrapperLifecycles

public java.lang.String[] findWrapperLifecycles()
Return the set of LifecycleListener classes that will be added to newly created Wrappers automatically.

Specified by:
findWrapperLifecycles in interface Context

findWrapperListeners

public java.lang.String[] findWrapperListeners()
Return the set of ContainerListener classes that will be added to newly created Wrappers automatically.

Specified by:
findWrapperListeners in interface Context

invoke

public void invoke(Request request,
                   Response response)
            throws java.io.IOException,
                   javax.servlet.ServletException
Process the specified Request, and generate the corresponding Response, according to the design of this particular Container.

Specified by:
invoke in interface Container
Overrides:
invoke in class ContainerBase
Parameters:
request - Request to be processed
response - Response to be produced
Throws:
java.io.IOException - if an input/output error occurred while processing
javax.servlet.ServletException - if a ServletException was thrown while processing this request

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. It does not handle changes to the web application deployment descriptor. If that has occurred, you should stop this Context and create (and start) a new Context instance instead.

Specified by:
reload in interface Context
Throws:
java.lang.IllegalStateException - if the reloadable property is set to false.

removeApplicationListener

public void removeApplicationListener(java.lang.String listener)
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(java.lang.String name)
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

removeConstraint

public void removeConstraint(SecurityConstraint constraint)
Remove the specified security constraint from this web application.

Specified by:
removeConstraint in interface Context
Parameters:
constraint - Constraint to be removed

removeEjb

public void removeEjb(java.lang.String name)
Remove any EJB resource reference with the specified name.

Specified by:
removeEjb in interface Context
Parameters:
name - Name of the EJB resource reference to remove

removeEnvironment

public void removeEnvironment(java.lang.String name)
Remove any environment entry with the specified name.

Specified by:
removeEnvironment in interface Context
Parameters:
name - Name of the environment entry to remove

removeErrorPage

public 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.

Specified by:
removeErrorPage in interface Context
Parameters:
errorPage - The error page definition to be removed

removeFilterDef

public void removeFilterDef(FilterDef filterDef)
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)
Remove a filter mapping from this Context.

Specified by:
removeFilterMap in interface Context
Parameters:
filterMap - The filter mapping to be removed

removeInstanceListener

public void removeInstanceListener(java.lang.String listener)
Remove a class name from the set of InstanceListener classes that will be added to newly created Wrappers.

Specified by:
removeInstanceListener in interface Context
Parameters:
listener - Class name of an InstanceListener class to be removed

removeLocalEjb

public void removeLocalEjb(java.lang.String name)
Remove any local EJB resource reference with the specified name.

Specified by:
removeLocalEjb in interface Context
Parameters:
name - Name of the EJB resource reference to remove

removeMimeMapping

public void removeMimeMapping(java.lang.String extension)
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(java.lang.String name)
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

removeResource

public void removeResource(java.lang.String name)
Remove any resource reference with the specified name.

Specified by:
removeResource in interface Context
Parameters:
name - Name of the resource reference to remove

removeResourceEnvRef

public void removeResourceEnvRef(java.lang.String name)
Remove any resource environment reference with the specified name.

Specified by:
removeResourceEnvRef in interface Context
Parameters:
name - Name of the resource environment reference to remove

removeResourceLink

public void removeResourceLink(java.lang.String name)
Remove any resource link with the specified name.

Specified by:
removeResourceLink in interface Context
Parameters:
name - Name of the resource link to remove

removeRoleMapping

public void removeRoleMapping(java.lang.String role)
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(java.lang.String role)
Remove any security role with the specified name.

Specified by:
removeSecurityRole in interface Context
Parameters:
role - Security role to remove

removeServletMapping

public void removeServletMapping(java.lang.String pattern)
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

removeTaglib

public void removeTaglib(java.lang.String uri)
Remove the tag library location forthe specified tag library URI.

Specified by:
removeTaglib in interface Context
Parameters:
uri - URI, relative to the web.xml file

removeWelcomeFile

public void removeWelcomeFile(java.lang.String name)
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(java.lang.String listener)
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(java.lang.String listener)
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

filterStart

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


filterStop

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


findFilterConfig

public javax.servlet.FilterConfig findFilterConfig(java.lang.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

listenerStart

public boolean listenerStart()
Configure the set of instantiated application event listeners for this Context. Return true if all listeners wre initialized successfully, or false otherwise.


listenerStop

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


resourcesStart

public boolean resourcesStart()
Allocate resources, including proxy. Return true if initialization was successfull, or false otherwise.


resourcesStop

public boolean resourcesStop()
Deallocate resources and destroy proxy.


loadOnStartup

public void 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)

start

public void start()
           throws LifecycleException
Start this Context component.

Specified by:
start in interface Lifecycle
Overrides:
start in class ContainerBase
Throws:
LifecycleException - if a startup error occurs

stop

public void stop()
          throws LifecycleException
Stop this Context component.

Specified by:
stop in interface Lifecycle
Overrides:
stop in class ContainerBase
Throws:
LifecycleException - if a shutdown error occurs

toString

public java.lang.String toString()
Return a String representation of this component.


addDefaultMapper

protected void addDefaultMapper(java.lang.String mapperClass)
Add a default Mapper implementation if none have been configured explicitly.

Overrides:
addDefaultMapper in class ContainerBase
Parameters:
mapperClass - Java class name of the default Mapper

adjustURLPattern

protected java.lang.String adjustURLPattern(java.lang.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

isServlet22

protected boolean isServlet22()
Are we processing a version 2.2 deployment descriptor?


engineBase

protected java.io.File engineBase()
Return a File object representing the base directory for the entire servlet container (i.e. the Engine container if present).



Copyright 2000-2002 Apache Software Foundation. All Rights Reserved.