org.apache.jasper.servlet

## Class JspCServletContext

- java.lang.Object
- - org.apache.jasper.servlet.JspCServletContext

All Implemented Interfaces:
  ServletContext

    public class JspCServletContext
    extends Object
    implements ServletContext

Simple `ServletContext` implementation without HTTP-specific methods.

Author:
  Peter Rossbach (pr@webapp.de)

### Field Summary

Fields
`protected Hashtable<String,Object>` `myAttributes` Servlet context attributes.
`protected PrintWriter` `myLogWriter` The log writer we will write log messages to.
`protected URL` `myResourceBaseURL` The base URL (document root) for this context.

### Fields inherited from interface javax.servlet.ServletContext

`ORDERED_LIBS, TEMPDIR`

### Constructor Summary

Constructors
Constructor and Description
`JspCServletContext(PrintWriter aLogWriter, URL aResourceBaseURL)` Create a new instance of this ServletContext implementation.

### Method Summary

Methods
`FilterRegistration.Dynamic` `addFilter(String filterName, Class<? extends Filter> filterClass)`
`FilterRegistration.Dynamic` `addFilter(String filterName, Filter filter)`
`FilterRegistration.Dynamic` `addFilter(String filterName, String className)`
`void` `addListener(Class<? extends EventListener> listenerClass)`
`void` `addListener(String className)`
`<T extends EventListener> void` `addListener(T t)`
`ServletRegistration.Dynamic` `addServlet(String servletName, Class<? extends Servlet> servletClass)`
`ServletRegistration.Dynamic` `addServlet(String servletName, Servlet servlet)`
`ServletRegistration.Dynamic` `addServlet(String servletName, String className)`
`<T extends Filter> T` `createFilter(Class<T> c)`
`<T extends EventListener> T` `createListener(Class<T> c)`
`<T extends Servlet> T` `createServlet(Class<T> c)`
`void` `declareRoles(String... roleNames)`
`Object` `getAttribute(String name)` Return the specified context attribute, if any.
`Enumeration<String>` `getAttributeNames()` Return an enumeration of context attribute names.
`ClassLoader` `getClassLoader()`
`ServletContext` `getContext(String uripath)` Return the servlet context for the specified path.
`String` `getContextPath()` Return the context path.
`Set<SessionTrackingMode>` `getDefaultSessionTrackingModes()`
`int` `getEffectiveMajorVersion()`
`int` `getEffectiveMinorVersion()`
`Set<SessionTrackingMode>` `getEffectiveSessionTrackingModes()`
`FilterRegistration` `getFilterRegistration(String filterName)`
`Map<String,? extends FilterRegistration>` `getFilterRegistrations()`
`String` `getInitParameter(String name)` Return the specified context initialization parameter.
`Enumeration<String>` `getInitParameterNames()` Return an enumeration of the names of context initialization parameters.
`JspConfigDescriptor` `getJspConfigDescriptor()`
`int` `getMajorVersion()` Return the Servlet API major version number.
`String` `getMimeType(String file)` Return the MIME type for the specified filename.
`int` `getMinorVersion()` Return the Servlet API minor version number.
`RequestDispatcher` `getNamedDispatcher(String name)` Return a request dispatcher for the specified servlet name.
`String` `getRealPath(String path)` Return the real path for the specified context-relative virtual path.
`RequestDispatcher` `getRequestDispatcher(String path)` Return a request dispatcher for the specified context-relative path.
`URL` `getResource(String path)` Return a URL object of a resource that is mapped to the specified context-relative path.
`InputStream` `getResourceAsStream(String path)` Return an InputStream allowing access to the resource at the specified context-relative path.
`Set<String>` `getResourcePaths(String path)` Return the set of resource paths for the "directory" at the specified context path.
`String` `getServerInfo()` Return descriptive information about this server.
`Servlet` `getServlet(String name)` Deprecated. This method has been deprecated with no replacement
`String` `getServletContextName()` Return the name of this servlet context.
`Enumeration<String>` `getServletNames()` Deprecated. This method has been deprecated with no replacement
`ServletRegistration` `getServletRegistration(String servletName)` Obtain the details of the named servlet.
`Map<String,? extends ServletRegistration>` `getServletRegistrations()`
`Enumeration<Servlet>` `getServlets()` Deprecated. This method has been deprecated with no replacement
`SessionCookieConfig` `getSessionCookieConfig()`
`void` `log(Exception exception, String message)` Deprecated. Use log(String,Throwable) instead
`void` `log(String message)` Log the specified message.
`void` `log(String message, Throwable exception)` Log the specified message and exception.
`void` `removeAttribute(String name)` Remove the specified context attribute.
`void` `setAttribute(String name, Object value)` Set or replace the specified context attribute.
`void` `setClassLoader(ClassLoader loader)`
`boolean` `setInitParameter(String name, String value)`
`void` `setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes)`

### Methods inherited from class java.lang.Object

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

### Field Detail

#### myAttributes

    protected Hashtable<String,Object> myAttributes

Servlet context attributes.

#### myLogWriter

    protected PrintWriter myLogWriter

The log writer we will write log messages to.

#### myResourceBaseURL

    protected URL myResourceBaseURL

The base URL (document root) for this context.

### Constructor Detail

#### JspCServletContext

    public JspCServletContext(PrintWriter aLogWriter,
                      URL aResourceBaseURL)

Create a new instance of this ServletContext implementation.

Parameters:
  `aLogWriter` - PrintWriter which is used for `log()` calls
  `aResourceBaseURL` - Resource base URL

### Method Detail

#### getAttribute

    public Object getAttribute(String name)

Return the specified context attribute, if any.

Specified by:
  `getAttribute` in interface `ServletContext`
Parameters:
  `name` - Name of the requested attribute
Returns:
  an `Object` containing the value of the attribute, or `null` if no attribute exists matching the given name
See Also:
  `ServletContext.getAttributeNames()`

#### getAttributeNames

    public Enumeration<String> getAttributeNames()

Return an enumeration of context attribute names.

Specified by:
  `getAttributeNames` in interface `ServletContext`
Returns:
  an `Enumeration` of attribute names
See Also:
  `ServletContext.getAttribute(java.lang.String)`

#### getContext

    public ServletContext getContext(String uripath)

Return the servlet context for the specified path.

Specified by:
  `getContext` in interface `ServletContext`
Parameters:
  `uripath` - Server-relative path starting with '/'
Returns:
  the `ServletContext` object that corresponds to the named URL, or null if either none exists or the container wishes to restrict this access.
See Also:
  `RequestDispatcher`

#### getContextPath

    public String getContextPath()

Return the context path.

Specified by:
  `getContextPath` in interface `ServletContext`

#### getInitParameter

    public String getInitParameter(String name)

Return the specified context initialization parameter.

Specified by:
  `getInitParameter` in interface `ServletContext`
Parameters:
  `name` - Name of the requested parameter
Returns:
  a `String` containing the value of the initialization parameter
See Also:
  `ServletConfig.getInitParameter(java.lang.String)`

#### getInitParameterNames

    public Enumeration<String> getInitParameterNames()

Return an enumeration of the names of context initialization parameters.

Specified by:
  `getInitParameterNames` in interface `ServletContext`
Returns:
  an `Enumeration` of `String` objects containing the names of the context's initialization parameters
See Also:
  `ServletConfig.getInitParameter(java.lang.String)`

#### getMajorVersion

    public int getMajorVersion()

Return the Servlet API major version number.

Specified by:
  `getMajorVersion` in interface `ServletContext`
Returns:
  3

#### getMimeType

    public String getMimeType(String file)

Return the MIME type for the specified filename.

Specified by:
  `getMimeType` in interface `ServletContext`
Parameters:
  `file` - Filename whose MIME type is requested
Returns:
  a `String` specifying the file's MIME type

#### getMinorVersion

    public int getMinorVersion()

Return the Servlet API minor version number.

Specified by:
  `getMinorVersion` in interface `ServletContext`
Returns:
  0

#### getNamedDispatcher

    public RequestDispatcher getNamedDispatcher(String name)

Return a request dispatcher for the specified servlet name.

Specified by:
  `getNamedDispatcher` in interface `ServletContext`
Parameters:
  `name` - Name of the requested servlet
Returns:
  a `RequestDispatcher` object that acts as a wrapper for the named servlet, or `null` if the `ServletContext` cannot return a `RequestDispatcher`
See Also:
  `RequestDispatcher`, `ServletContext.getContext(java.lang.String)`, `ServletConfig.getServletName()`

#### getRealPath

    public String getRealPath(String path)

Return the real path for the specified context-relative virtual path.

Specified by:
  `getRealPath` in interface `ServletContext`
Parameters:
  `path` - The context-relative virtual path to resolve
Returns:
  a `String` specifying the real path, or null if the translation cannot be performed

#### getRequestDispatcher

    public RequestDispatcher getRequestDispatcher(String path)

Return a request dispatcher for the specified context-relative path.

Specified by:
  `getRequestDispatcher` in interface `ServletContext`
Parameters:
  `path` - Context-relative path for which to acquire a dispatcher
Returns:
  a `RequestDispatcher` object that acts as a wrapper for the resource at the specified path, or `null` if the `ServletContext` cannot return a `RequestDispatcher`
See Also:
  `RequestDispatcher`, `ServletContext.getContext(java.lang.String)`

#### getResource

    public URL getResource(String path)
                    throws MalformedURLException

Return a URL object of a resource that is mapped to the specified context-relative path.

Specified by:
  `getResource` in interface `ServletContext`
Parameters:
  `path` - Context-relative path of the desired resource
Returns:
  the resource located at the named path, or `null` if there is no resource at that path
Throws:
  `MalformedURLException` - if the resource path is not properly formed

#### getResourceAsStream

    public InputStream getResourceAsStream(String path)

Return an InputStream allowing access to the resource at the specified context-relative path.

Specified by:
  `getResourceAsStream` in interface `ServletContext`
Parameters:
  `path` - Context-relative path of the desired resource
Returns:
  the `InputStream` returned to the servlet, or `null` if no resource exists at the specified path

#### getResourcePaths

    public Set<String> getResourcePaths(String path)

Return the set of resource paths for the "directory" at the specified context path.

Specified by:
  `getResourcePaths` in interface `ServletContext`
Parameters:
  `path` - Context-relative base path
Returns:
  a Set containing the directory listing, or null if there are no resources in the web application whose path begins with the supplied path.

#### getServerInfo

    public String getServerInfo()

Return descriptive information about this server.

Specified by:
  `getServerInfo` in interface `ServletContext`
Returns:
  a `String` containing at least the servlet container name and version number

#### getServlet

    @Deprecated
    public Servlet getServlet(String name)
                       throws ServletException

Deprecated. This method has been deprecated with no replacement
Return a null reference for the specified servlet name.

Specified by:
  `getServlet` in interface `ServletContext`
Parameters:
  `name` - Name of the requested servlet
Throws:
  `ServletException`

#### getServletContextName

    public String getServletContextName()

Return the name of this servlet context.

Specified by:
  `getServletContextName` in interface `ServletContext`
Returns:
  The name of the web application or null if no name has been declared in the deployment descriptor.

#### getServletNames

    @Deprecated
    public Enumeration<String> getServletNames()

Deprecated. This method has been deprecated with no replacement
Return an empty enumeration of servlet names.

Specified by:
  `getServletNames` in interface `ServletContext`

#### getServlets

    @Deprecated
    public Enumeration<Servlet> getServlets()

Deprecated. This method has been deprecated with no replacement
Return an empty enumeration of servlets.

Specified by:
  `getServlets` in interface `ServletContext`

#### log

    public void log(String message)

Log the specified message.

Specified by:
  `log` in interface `ServletContext`
Parameters:
  `message` - The message to be logged

#### log

    @Deprecated
    public void log(Exception exception,
                      String message)

Deprecated. Use log(String,Throwable) instead
Log the specified message and exception.

Specified by:
  `log` in interface `ServletContext`
Parameters:
  `exception` - The exception to be logged
  `message` - The message to be logged

#### log

    public void log(String message,
           Throwable exception)

Log the specified message and exception.

Specified by:
  `log` in interface `ServletContext`
Parameters:
  `message` - The message to be logged
  `exception` - The exception to be logged

#### removeAttribute

    public void removeAttribute(String name)

Remove the specified context attribute.

Specified by:
  `removeAttribute` in interface `ServletContext`
Parameters:
  `name` - Name of the attribute to remove

#### setAttribute

    public void setAttribute(String name,
                    Object value)

Set or replace the specified context attribute.

Specified by:
  `setAttribute` in interface `ServletContext`
Parameters:
  `name` - Name of the context attribute to set
  `value` - Corresponding attribute value

#### addFilter

    public FilterRegistration.Dynamic addFilter(String filterName,
                                       String className)

Specified by:
  `addFilter` in interface `ServletContext`
Returns:
  TODO

#### addServlet

    public ServletRegistration.Dynamic addServlet(String servletName,
                                         String className)

Specified by:
  `addServlet` in interface `ServletContext`
Returns:
  TODO

#### getDefaultSessionTrackingModes

    public Set<SessionTrackingMode> getDefaultSessionTrackingModes()

Specified by:
  `getDefaultSessionTrackingModes` in interface `ServletContext`
Returns:
  TODO

#### getEffectiveSessionTrackingModes

    public Set<SessionTrackingMode> getEffectiveSessionTrackingModes()

Specified by:
  `getEffectiveSessionTrackingModes` in interface `ServletContext`
Returns:
  TODO

#### getSessionCookieConfig

    public SessionCookieConfig getSessionCookieConfig()

Specified by:
  `getSessionCookieConfig` in interface `ServletContext`
Returns:
  TODO

#### setSessionTrackingModes

    public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes)

Specified by:
  `setSessionTrackingModes` in interface `ServletContext`

#### addFilter

    public FilterRegistration.Dynamic addFilter(String filterName,
                                       Filter filter)

Specified by:
  `addFilter` in interface `ServletContext`
Returns:
  TODO

#### addFilter

    public FilterRegistration.Dynamic addFilter(String filterName,
                                       Class<? extends Filter> filterClass)

Specified by:
  `addFilter` in interface `ServletContext`
Returns:
  TODO

#### addServlet

    public ServletRegistration.Dynamic addServlet(String servletName,
                                         Servlet servlet)

Specified by:
  `addServlet` in interface `ServletContext`
Returns:
  TODO

#### addServlet

    public ServletRegistration.Dynamic addServlet(String servletName,
                                         Class<? extends Servlet> servletClass)

Specified by:
  `addServlet` in interface `ServletContext`
Returns:
  TODO

#### createFilter

    public <T extends Filter> T createFilter(Class<T> c)
                                  throws ServletException

Specified by:
  `createFilter` in interface `ServletContext`
Returns:
  TODO
Throws:
  `ServletException`

#### createServlet

    public <T extends Servlet> T createServlet(Class<T> c)
                                    throws ServletException

Specified by:
  `createServlet` in interface `ServletContext`
Returns:
  TODO
Throws:
  `ServletException`

#### getFilterRegistration

    public FilterRegistration getFilterRegistration(String filterName)

Specified by:
  `getFilterRegistration` in interface `ServletContext`
Returns:
  TODO

#### getServletRegistration

    public ServletRegistration getServletRegistration(String servletName)

Description copied from interface: `javax.servlet.ServletContext`
Obtain the details of the named servlet.

Specified by:
  `getServletRegistration` in interface `ServletContext`
Parameters:
  `servletName` - The name of the Servlet of interest
Returns:
  The registration details for the named Servlet or `null` if no Servlet has been registered with the given name

#### setInitParameter

    public boolean setInitParameter(String name,
                           String value)

Specified by:
  `setInitParameter` in interface `ServletContext`
Returns:
  TODO

#### addListener

    public void addListener(Class<? extends EventListener> listenerClass)

Specified by:
  `addListener` in interface `ServletContext`

#### addListener

    public void addListener(String className)

Specified by:
  `addListener` in interface `ServletContext`

#### addListener

    public <T extends EventListener> void addListener(T t)

Specified by:
  `addListener` in interface `ServletContext`

#### createListener

    public <T extends EventListener> T createListener(Class<T> c)
                                           throws ServletException

Specified by:
  `createListener` in interface `ServletContext`
Returns:
  TODO
Throws:
  `ServletException`

#### declareRoles

    public void declareRoles(String... roleNames)

Specified by:
  `declareRoles` in interface `ServletContext`

#### getClassLoader

    public ClassLoader getClassLoader()

Specified by:
  `getClassLoader` in interface `ServletContext`
Returns:
  TODO

#### setClassLoader

    public void setClassLoader(ClassLoader loader)

#### getEffectiveMajorVersion

    public int getEffectiveMajorVersion()

Specified by:
  `getEffectiveMajorVersion` in interface `ServletContext`
Returns:
  TODO

#### getEffectiveMinorVersion

    public int getEffectiveMinorVersion()

Specified by:
  `getEffectiveMinorVersion` in interface `ServletContext`
Returns:
  TODO

#### getFilterRegistrations

    public Map<String,? extends FilterRegistration> getFilterRegistrations()

Specified by:
  `getFilterRegistrations` in interface `ServletContext`
Returns:
  TODO

#### getJspConfigDescriptor

    public JspConfigDescriptor getJspConfigDescriptor()

Specified by:
  `getJspConfigDescriptor` in interface `ServletContext`
Returns:
  TODO

#### getServletRegistrations

    public Map<String,? extends ServletRegistration> getServletRegistrations()

Specified by:
  `getServletRegistrations` in interface `ServletContext`
Returns:
  TODO