public class ApplicationContext extends Object implements ServletContext
ServletContext
that represents
a web application's execution environment. An instance of this class is
associated with each instance of StandardContext
.Modifier and Type | Field and Description |
---|---|
protected Map<String,Object> |
attributes
The context attributes for this context.
|
protected static boolean |
GET_RESOURCE_REQUIRE_SLASH |
protected static boolean |
STRICT_SERVLET_COMPLIANCE |
ORDERED_LIBS, TEMPDIR
Constructor and Description |
---|
ApplicationContext(StandardContext context)
Construct a new instance of this class, associated with the specified
Context instance.
|
Modifier and Type | Method and Description |
---|---|
FilterRegistration.Dynamic |
addFilter(String filterName,
Class<? extends Filter> filterClass)
Add filter to context.
|
FilterRegistration.Dynamic |
addFilter(String filterName,
Filter filter)
Add filter to context.
|
FilterRegistration.Dynamic |
addFilter(String filterName,
String className)
Add filter to context.
|
void |
addListener(Class<? extends EventListener> listenerClass)
TODO SERVLET3 - Add comments
|
void |
addListener(String className)
TODO SERVLET3 - Add comments
|
<T extends EventListener> |
addListener(T t)
TODO SERVLET3 - Add comments
|
ServletRegistration.Dynamic |
addServlet(String servletName,
Class<? extends Servlet> servletClass)
Add servlet to context.
|
ServletRegistration.Dynamic |
addServlet(String servletName,
Servlet servlet)
Register a servlet instance for use in this ServletContext.
|
ServletRegistration.Dynamic |
addServlet(String servletName,
String className)
Register a servlet implementation for use in this ServletContext.
|
protected void |
clearAttributes()
Clear all application-created attributes.
|
<T extends Filter> |
createFilter(Class<T> c)
TODO SERVLET3 - Add comments
|
<T extends EventListener> |
createListener(Class<T> c)
TODO SERVLET3 - Add comments
|
<T extends Servlet> |
createServlet(Class<T> c)
TODO SERVLET3 - Add comments
|
void |
declareRoles(String... roleNames)
Add to the declared roles for this ServletContext.
|
Object |
getAttribute(String name)
Returns the servlet container attribute with the given name, or
null if there is no attribute by that name. |
Enumeration<String> |
getAttributeNames()
Returns an
Enumeration containing the attribute names
available within this servlet context. |
ClassLoader |
getClassLoader()
Get the web application class loader associated with this ServletContext.
|
protected StandardContext |
getContext() |
ServletContext |
getContext(String uri)
Returns a
ServletContext object that corresponds to a
specified URL on the server. |
String |
getContextPath()
Return the main path associated with this context.
|
Set<SessionTrackingMode> |
getDefaultSessionTrackingModes()
Obtains the default session tracking modes for this web application.
|
int |
getEffectiveMajorVersion() |
int |
getEffectiveMinorVersion() |
Set<SessionTrackingMode> |
getEffectiveSessionTrackingModes()
Obtains the currently enabled session tracking modes for this web
application.
|
protected ServletContext |
getFacade() |
FilterRegistration |
getFilterRegistration(String filterName)
TODO SERVLET3 - Add comments
|
Map<String,? extends FilterRegistration> |
getFilterRegistrations() |
String |
getInitParameter(String name)
Returns a
String containing the value of the named
context-wide initialization parameter, or null if the
parameter does not exist. |
Enumeration<String> |
getInitParameterNames()
Returns the names of the context's initialization parameters as an
Enumeration of String objects, or an empty
Enumeration if the context has no initialization parameters. |
JspConfigDescriptor |
getJspConfigDescriptor() |
int |
getMajorVersion()
Returns the major version of the Java Servlet API that this servlet
container supports.
|
String |
getMimeType(String file)
Return the MIME type of the specified file, or
null if
the MIME type cannot be determined. |
int |
getMinorVersion()
Returns the minor version of the Servlet API that this servlet container
supports.
|
RequestDispatcher |
getNamedDispatcher(String name)
Return a
RequestDispatcher object that acts as a
wrapper for the named servlet. |
protected Map<String,String> |
getReadonlyAttributes()
Deprecated.
|
String |
getRealPath(String path)
Returns a
String containing the real path for a given
virtual path. |
RequestDispatcher |
getRequestDispatcher(String path)
Returns a
RequestDispatcher object that acts as a wrapper for the
resource located at the given path. |
URL |
getResource(String path)
Returns a URL to the resource that is mapped to a specified path.
|
InputStream |
getResourceAsStream(String path)
Returns the resource located at the named path as an
InputStream object. |
Set<String> |
getResourcePaths(String path)
Returns a directory-like listing of all the paths to resources within the
web application whose longest sub-path matches the supplied path
argument.
|
DirContext |
getResources()
Deprecated.
|
String |
getServerInfo()
Returns the name and version of the servlet container on which the
servlet is running.
|
Servlet |
getServlet(String name)
Deprecated.
|
String |
getServletContextName()
Returns the name of this web application corresponding to this
ServletContext as specified in the deployment descriptor for this web
application by the display-name element.
|
Enumeration<String> |
getServletNames()
Deprecated.
|
ServletRegistration |
getServletRegistration(String servletName)
Obtain the details of the named servlet.
|
Map<String,? extends ServletRegistration> |
getServletRegistrations()
TODO SERVLET3 - Add comments
|
Enumeration<Servlet> |
getServlets()
Deprecated.
|
SessionCookieConfig |
getSessionCookieConfig() |
void |
log(Exception exception,
String message)
Deprecated.
|
void |
log(String message)
Writes the specified message to a servlet log file, usually an event log.
|
void |
log(String message,
Throwable throwable)
Writes an explanatory message and a stack trace for a given
Throwable exception to the servlet log file. |
void |
removeAttribute(String name)
Removes the attribute with the given name from the servlet context.
|
void |
setAttribute(String name,
Object value)
Binds an object to a given attribute name in this servlet context.
|
boolean |
setInitParameter(String name,
String value)
Set the given initialisation parameter to the given value.
|
protected void |
setNewServletContextListenerAllowed(boolean allowed) |
void |
setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes)
Configures the available session tracking modes for this web application.
|
protected static final boolean STRICT_SERVLET_COMPLIANCE
protected static final boolean GET_RESOURCE_REQUIRE_SLASH
public ApplicationContext(StandardContext context)
context
- The associated Context instance@Deprecated public DirContext getResources()
public Object getAttribute(String name)
ServletContext
null
if there is no attribute by that name. An attribute
allows a servlet container to give the servlet additional information not
already provided by this interface. See your server documentation for
information about its attributes. A list of supported attributes can be
retrieved using getAttributeNames
.
The attribute is returned as a java.lang.Object
or some
subclass. Attribute names should follow the same convention as package
names. The Java Servlet API specification reserves names matching
java.*
, javax.*
, and sun.*
.
getAttribute
in interface ServletContext
name
- a String
specifying the name of the attributeObject
containing the value of the attribute, or
null
if no attribute exists matching the given nameServletContext.getAttributeNames()
public Enumeration<String> getAttributeNames()
ServletContext
Enumeration
containing the attribute names
available within this servlet context. Use the ServletContext.getAttribute(java.lang.String)
method with an attribute name to get the value of an attribute.getAttributeNames
in interface ServletContext
Enumeration
of attribute namesServletContext.getAttribute(java.lang.String)
public ServletContext getContext(String uri)
ServletContext
ServletContext
object that corresponds to a
specified URL on the server.
This method allows servlets to gain access to the context for various
parts of the server, and as needed obtain RequestDispatcher
objects from the context. The given path must be begin with "/", is
interpreted relative to the server's document root and is matched against
the context roots of other web applications hosted on this container.
In a security conscious environment, the servlet container may return
null
for a given URL.
getContext
in interface ServletContext
uri
- a String
specifying the context path of another
web application in the container.ServletContext
object that corresponds to the
named URL, or null if either none exists or the container wishes
to restrict this access.RequestDispatcher
public String getContextPath()
ServletContext
getContextPath
in interface ServletContext
public String getInitParameter(String name)
ServletContext
String
containing the value of the named
context-wide initialization parameter, or null
if the
parameter does not exist.
This method can make available configuration information useful to an entire "web application". For example, it can provide a webmaster's email address or the name of a system that holds critical data.
getInitParameter
in interface ServletContext
name
- a String
containing the name of the parameter
whose value is requestedString
containing the value of the initialization
parameterServletConfig.getInitParameter(java.lang.String)
public Enumeration<String> getInitParameterNames()
ServletContext
Enumeration
of String
objects, or an empty
Enumeration
if the context has no initialization parameters.getInitParameterNames
in interface ServletContext
Enumeration
of String
objects
containing the names of the context's initialization parametersServletConfig.getInitParameter(java.lang.String)
public int getMajorVersion()
ServletContext
getMajorVersion
in interface ServletContext
public int getMinorVersion()
ServletContext
getMinorVersion
in interface ServletContext
public String getMimeType(String file)
null
if
the MIME type cannot be determined.getMimeType
in interface ServletContext
file
- Filename for which to identify a MIME typeString
specifying the file's MIME typepublic RequestDispatcher getNamedDispatcher(String name)
RequestDispatcher
object that acts as a
wrapper for the named servlet.getNamedDispatcher
in interface ServletContext
name
- Name of the servlet for which a dispatcher is requestedRequestDispatcher
object that acts as a wrapper for
the named servlet, or null
if the
ServletContext
cannot return a
RequestDispatcher
RequestDispatcher
,
ServletContext.getContext(java.lang.String)
,
ServletConfig.getServletName()
public String getRealPath(String path)
ServletContext
String
containing the real path for a given
virtual path. For example, the path "/index.html" returns the absolute
file path on the server's filesystem would be served by a request for
"http://host/contextPath/index.html", where contextPath is the context
path of this ServletContext..
The real path returned will be in a form appropriate to the computer and
operating system on which the servlet container is running, including the
proper path separators. This method returns null
if the
servlet container cannot translate the virtual path to a real path for
any reason (such as when the content is being made available from a
.war
archive).
getRealPath
in interface ServletContext
path
- a String
specifying a virtual pathString
specifying the real path, or null if the
translation cannot be performedpublic RequestDispatcher getRequestDispatcher(String path)
ServletContext
RequestDispatcher
object that acts as a wrapper for the
resource located at the given path. A RequestDispatcher
object can be used to forward a request to the resource or to include the
resource in a response. The resource can be dynamic or static.
The pathname must begin with a "/" and is interpreted as relative to the
current context root. Use getContext
to obtain a
RequestDispatcher
for resources in foreign contexts. This
method returns null
if the ServletContext
cannot return a RequestDispatcher
.
getRequestDispatcher
in interface ServletContext
path
- a String
specifying the pathname to the resourceRequestDispatcher
object that acts as a wrapper for
the resource at the specified path, or null
if the
ServletContext
cannot return a
RequestDispatcher
RequestDispatcher
,
ServletContext.getContext(java.lang.String)
public URL getResource(String path) throws MalformedURLException
ServletContext
This method allows the servlet container to make a resource available to
servlets from any source. Resources can be located on a local or remote
file system, in a database, or in a .war
file.
The servlet container must implement the URL handlers and
URLConnection
objects that are necessary to access the
resource.
This method returns null
if no resource is mapped to the
pathname.
Some containers may allow writing to the URL returned by this method using the methods of the URL class.
The resource content is returned directly, so be aware that requesting a
.jsp
page returns the JSP source code. Use a
RequestDispatcher
instead to include results of an
execution.
This method has a different purpose than
java.lang.Class.getResource
, which looks up resources based
on a class loader. This method does not use class loaders.
getResource
in interface ServletContext
path
- a String
specifying the path to the resourcenull
if
there is no resource at that pathMalformedURLException
- if the pathname is not given in the correct formpublic InputStream getResourceAsStream(String path)
ServletContext
InputStream
object.
The data in the InputStream
can be of any type or length.
The path must be specified according to the rules given in
getResource
. This method returns null
if no
resource exists at the specified path.
Meta-information such as content length and content type that is
available via getResource
method is lost when using this
method.
The servlet container must implement the URL handlers and
URLConnection
objects necessary to access the resource.
This method is different from
java.lang.Class.getResourceAsStream
, which uses a class
loader. This method allows servlet containers to make a resource
available to a servlet from any location, without using a class loader.
getResourceAsStream
in interface ServletContext
path
- a String
specifying the path to the resourceInputStream
returned to the servlet, or
null
if no resource exists at the specified pathpublic Set<String> getResourcePaths(String path)
ServletContext
getResourcePaths
in interface ServletContext
path
- the partial path used to match the resources, which must start
with a /public String getServerInfo()
ServletContext
The form of the returned string is
servername/versionnumber. For example, the JavaServer Web
Development Kit may return the string
JavaServer Web Dev Kit/1.0
.
The servlet container may return other optional information after the
primary string in parentheses, for example,
JavaServer Web Dev Kit/1.0 (JDK 1.1.6; Windows NT 4.0 x86)
.
getServerInfo
in interface ServletContext
String
containing at least the servlet container
name and version number@Deprecated public Servlet getServlet(String name)
ServletContext
ServletContext
. In this version, this method always
returns null
and remains only to preserve binary
compatibility. This method will be permanently removed in a future
version of the Java Servlet API.
In lieu of this method, servlets can share information using the
ServletContext
class and can perform shared business logic
by invoking methods on common non-servlet classes.
getServlet
in interface ServletContext
name
- Not usednull
public String getServletContextName()
ServletContext
getServletContextName
in interface ServletContext
@Deprecated public Enumeration<String> getServletNames()
ServletContext
Enumeration
of all the servlet names known to this context.
In this version, this method always returns an empty
Enumeration
and remains only to preserve binary
compatibility. This method will be permanently removed in a future
version of the Java Servlet API.getServletNames
in interface ServletContext
@Deprecated public Enumeration<Servlet> getServlets()
ServletContext
Enumeration
of all the servlets known to this servlet
context. In this version, this method always returns an empty enumeration
and remains only to preserve binary compatibility. This method will be
permanently removed in a future version of the Java Servlet API.getServlets
in interface ServletContext
public void log(String message)
ServletContext
log
in interface ServletContext
message
- a String
specifying the message to be written to
the log file@Deprecated public void log(Exception exception, String message)
ServletContext
log
in interface ServletContext
exception
- The exception to logmessage
- The message to log with the exceptionpublic void log(String message, Throwable throwable)
ServletContext
Throwable
exception to the servlet log file. The name and
type of the servlet log file is specific to the servlet container,
usually an event log.log
in interface ServletContext
message
- a String
that describes the error or exceptionthrowable
- the Throwable
error or exceptionpublic void removeAttribute(String name)
ServletContext
ServletContext.getAttribute(java.lang.String)
to retrieve the
attribute's value will return null
.
If listeners are configured on the ServletContext
the
container notifies them accordingly.
removeAttribute
in interface ServletContext
name
- a String
specifying the name of the attribute to
be removedpublic void setAttribute(String name, Object value)
ServletContext
If listeners are configured on the ServletContext
the
container notifies them accordingly.
If a null value is passed, the effect is the same as calling
removeAttribute()
.
Attribute names should follow the same convention as package names. The
Java Servlet API specification reserves names matching
java.*
, javax.*
, and sun.*
.
setAttribute
in interface ServletContext
name
- a String
specifying the name of the attributevalue
- an Object
representing the attribute to be boundpublic FilterRegistration.Dynamic addFilter(String filterName, String className)
ServletContext
addFilter
in interface ServletContext
filterName
- Name of filter to addclassName
- Name of filter classnull
if the filter has already been fully defined,
else a FilterRegistration.Dynamic
object
that can be used to further configure the filterpublic FilterRegistration.Dynamic addFilter(String filterName, Filter filter)
ServletContext
addFilter
in interface ServletContext
filterName
- Name of filter to addfilter
- Filter to addnull
if the filter has already been fully defined,
else a FilterRegistration.Dynamic
object
that can be used to further configure the filterpublic FilterRegistration.Dynamic addFilter(String filterName, Class<? extends Filter> filterClass)
ServletContext
addFilter
in interface ServletContext
filterName
- Name of filter to addfilterClass
- Class of filter to addnull
if the filter has already been fully defined,
else a FilterRegistration.Dynamic
object
that can be used to further configure the filterpublic <T extends Filter> T createFilter(Class<T> c) throws ServletException
ServletContext
createFilter
in interface ServletContext
T
- TODOc
- TODOServletException
- TODOpublic FilterRegistration getFilterRegistration(String filterName)
ServletContext
getFilterRegistration
in interface ServletContext
filterName
- TODOpublic ServletRegistration.Dynamic addServlet(String servletName, String className)
ServletContext
addServlet
in interface ServletContext
servletName
- The name of the servlet to registerclassName
- The implementation class for the servletpublic ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet)
ServletContext
addServlet
in interface ServletContext
servletName
- The name of the servlet to registerservlet
- The Servlet instance to registerpublic ServletRegistration.Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass)
ServletContext
addServlet
in interface ServletContext
servletName
- Name of servlet to addservletClass
- Class of servlet to addnull
if the servlet has already been fully defined,
else a ServletRegistration.Dynamic
object
that can be used to further configure the servletpublic <T extends Servlet> T createServlet(Class<T> c) throws ServletException
ServletContext
createServlet
in interface ServletContext
T
- TODOc
- TODOServletException
- TODOpublic ServletRegistration getServletRegistration(String servletName)
ServletContext
getServletRegistration
in interface ServletContext
servletName
- The name of the Servlet of interestnull
if no Servlet has been registered with the
given namepublic Set<SessionTrackingMode> getDefaultSessionTrackingModes()
ServletContext
SessionTrackingMode.URL
is always supported, SessionTrackingMode.COOKIE
is supported unless the cookies
attribute has been set to false
for the context and SessionTrackingMode.SSL
is supported if at least one of the connectors
used by this context has the attribute secure
set to
true
.getDefaultSessionTrackingModes
in interface ServletContext
public Set<SessionTrackingMode> getEffectiveSessionTrackingModes()
ServletContext
getEffectiveSessionTrackingModes
in interface ServletContext
ServletContext.setSessionTrackingModes(Set)
if
one was previously set, else return the defaultspublic SessionCookieConfig getSessionCookieConfig()
getSessionCookieConfig
in interface ServletContext
public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes)
ServletContext
setSessionTrackingModes
in interface ServletContext
sessionTrackingModes
- The session tracking modes to use for this
web applicationpublic boolean setInitParameter(String name, String value)
ServletContext
setInitParameter
in interface ServletContext
name
- Name of initialisation parametervalue
- Value for initialisation parametertrue
if the call succeeds or false
if
the call fails because an initialisation parameter with the same
name has already been setpublic void addListener(Class<? extends EventListener> listenerClass)
ServletContext
addListener
in interface ServletContext
listenerClass
- TODOpublic void addListener(String className)
ServletContext
addListener
in interface ServletContext
className
- TODOpublic <T extends EventListener> void addListener(T t)
ServletContext
addListener
in interface ServletContext
T
- TODOt
- TODOpublic <T extends EventListener> T createListener(Class<T> c) throws ServletException
ServletContext
createListener
in interface ServletContext
T
- TODOc
- TODOServletException
- TODOpublic void declareRoles(String... roleNames)
ServletContext
declareRoles
in interface ServletContext
roleNames
- The roles to addpublic ClassLoader getClassLoader()
ServletContext
getClassLoader
in interface ServletContext
public int getEffectiveMajorVersion()
getEffectiveMajorVersion
in interface ServletContext
public int getEffectiveMinorVersion()
getEffectiveMinorVersion
in interface ServletContext
public Map<String,? extends FilterRegistration> getFilterRegistrations()
getFilterRegistrations
in interface ServletContext
public JspConfigDescriptor getJspConfigDescriptor()
getJspConfigDescriptor
in interface ServletContext
public Map<String,? extends ServletRegistration> getServletRegistrations()
ServletContext
getServletRegistrations
in interface ServletContext
protected StandardContext getContext()
@Deprecated protected Map<String,String> getReadonlyAttributes()
protected void clearAttributes()
protected ServletContext getFacade()
protected void setNewServletContextListenerAllowed(boolean allowed)
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.