Class JspCServletContext

  • All Implemented Interfaces:
    ServletContext

    public class JspCServletContext
    extends java.lang.Object
    implements ServletContext
    Simple ServletContext implementation without HTTP-specific methods.
    Author:
    Peter Rossbach (pr@webapp.de)
    • Constructor Detail

      • JspCServletContext

        public JspCServletContext​(java.io.PrintWriter aLogWriter,
                                  java.net.URL aResourceBaseURL,
                                  java.lang.ClassLoader classLoader,
                                  boolean validate,
                                  boolean blockExternal)
                           throws JasperException
        Create a new instance of this ServletContext implementation.
        Parameters:
        aLogWriter - PrintWriter which is used for log() calls
        aResourceBaseURL - Resource base URL
        classLoader - Class loader for this ServletContext
        validate - Should a validating parser be used to parse web.xml?
        blockExternal - Should external entities be blocked when parsing web.xml?
        Throws:
        JasperException - An error occurred building the merged web.xml
    • Method Detail

      • getAttribute

        public java.lang.Object getAttribute​(java.lang.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()
      • getContext

        public ServletContext getContext​(java.lang.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 java.lang.String getContextPath()
        Return the context path.
        Specified by:
        getContextPath in interface ServletContext
        Returns:
        The main context path
      • getMajorVersion

        public int getMajorVersion()
        Return the Servlet API major version number.
        Specified by:
        getMajorVersion in interface ServletContext
        Returns:
        4
      • getMimeType

        public java.lang.String getMimeType​(java.lang.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
      • getRealPath

        public java.lang.String getRealPath​(java.lang.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
      • getResource

        public java.net.URL getResource​(java.lang.String path)
                                 throws java.net.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:
        java.net.MalformedURLException - if the resource path is not properly formed
      • getResourceAsStream

        public java.io.InputStream getResourceAsStream​(java.lang.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 java.util.Set<java.lang.String> getResourcePaths​(java.lang.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 java.lang.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​(java.lang.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
        Returns:
        Always null
        Throws:
        ServletException - never
      • getServletContextName

        public java.lang.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 java.util.Enumeration<java.lang.String> getServletNames()
        Deprecated.
        This method has been deprecated with no replacement
        Return an empty enumeration of servlet names.
        Specified by:
        getServletNames in interface ServletContext
        Returns:
        Always and empty Enumeration
      • getServlets

        @Deprecated
        public java.util.Enumeration<Servlet> getServlets()
        Deprecated.
        This method has been deprecated with no replacement
        Return an empty enumeration of servlets.
        Specified by:
        getServlets in interface ServletContext
        Returns:
        Always and empty Enumeration
      • log

        public void log​(java.lang.String message)
        Log the specified message.
        Specified by:
        log in interface ServletContext
        Parameters:
        message - The message to be logged
      • log

        @Deprecated
        public void log​(java.lang.Exception exception,
                        java.lang.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​(java.lang.String message,
                        java.lang.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​(java.lang.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​(java.lang.String name,
                                 java.lang.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
      • addServlet

        public ServletRegistration.Dynamic addServlet​(java.lang.String servletName,
                                                      java.lang.String className)
        Description copied from interface: javax.servlet.ServletContext
        Register a servlet implementation for use in this ServletContext.
        Specified by:
        addServlet in interface ServletContext
        Parameters:
        servletName - The name of the servlet to register
        className - The implementation class for the servlet
        Returns:
        The registration object that enables further configuration
      • setSessionTrackingModes

        public void setSessionTrackingModes​(java.util.Set<SessionTrackingMode> sessionTrackingModes)
        Description copied from interface: javax.servlet.ServletContext
        Configures the available session tracking modes for this web application.
        Specified by:
        setSessionTrackingModes in interface ServletContext
        Parameters:
        sessionTrackingModes - The session tracking modes to use for this web application
      • addServlet

        public ServletRegistration.Dynamic addServlet​(java.lang.String servletName,
                                                      Servlet servlet)
        Description copied from interface: javax.servlet.ServletContext
        Register a servlet instance for use in this ServletContext.
        Specified by:
        addServlet in interface ServletContext
        Parameters:
        servletName - The name of the servlet to register
        servlet - The Servlet instance to register
        Returns:
        The registration object that enables further configuration
      • addJspFile

        public ServletRegistration.Dynamic addJspFile​(java.lang.String jspName,
                                                      java.lang.String jspFile)
        Specified by:
        addJspFile in interface ServletContext
        Parameters:
        jspName - The servlet name under which this JSP file should be registered
        jspFile - The path, relative to the web application root, for the JSP file to be used for this servlet
        Returns:
        a ServletRegistration.Dynamic object that can be used to further configure the servlet
      • createFilter

        public <T extends Filter> T createFilter​(java.lang.Class<T> c)
                                          throws ServletException
        Description copied from interface: javax.servlet.ServletContext
        Create a Filter instance using the given class. The instance is just created. No initialisation occurs.
        Specified by:
        createFilter in interface ServletContext
        Type Parameters:
        T - The type for the given class
        Parameters:
        c - The the class for which an instance should be created
        Returns:
        The created Filter instance.
        Throws:
        ServletException - If the Filter instance cannot be created
      • createServlet

        public <T extends Servlet> T createServlet​(java.lang.Class<T> c)
                                            throws ServletException
        Description copied from interface: javax.servlet.ServletContext
        Create an Servlet instance using the given class. The instance is just created. No initialisation occurs.
        Specified by:
        createServlet in interface ServletContext
        Type Parameters:
        T - The type for the given class
        Parameters:
        c - The the class for which an instance should be created
        Returns:
        The created Servlet instance.
        Throws:
        ServletException - If the servlet instance cannot be created.
      • getServletRegistration

        public ServletRegistration getServletRegistration​(java.lang.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​(java.lang.String name,
                                        java.lang.String value)
        Description copied from interface: javax.servlet.ServletContext
        Set the given initialisation parameter to the given value.
        Specified by:
        setInitParameter in interface ServletContext
        Parameters:
        name - Name of initialisation parameter
        value - Value for initialisation parameter
        Returns:
        true if the call succeeds or false if the call fails because an initialisation parameter with the same name has already been set
      • addListener

        public void addListener​(java.lang.Class<? extends java.util.EventListener> listenerClass)
        Description copied from interface: javax.servlet.ServletContext
        TODO SERVLET3 - Add comments
        Specified by:
        addListener in interface ServletContext
        Parameters:
        listenerClass - TODO
      • addListener

        public <T extends java.util.EventListener> void addListener​(T t)
        Description copied from interface: javax.servlet.ServletContext
        TODO SERVLET3 - Add comments
        Specified by:
        addListener in interface ServletContext
        Type Parameters:
        T - TODO
        Parameters:
        t - TODO
      • declareRoles

        public void declareRoles​(java.lang.String... roleNames)
        Description copied from interface: javax.servlet.ServletContext
        Add to the declared roles for this ServletContext.
        Specified by:
        declareRoles in interface ServletContext
        Parameters:
        roleNames - The roles to add
      • getClassLoader

        public java.lang.ClassLoader getClassLoader()
        Description copied from interface: javax.servlet.ServletContext
        Get the web application class loader associated with this ServletContext.
        Specified by:
        getClassLoader in interface ServletContext
        Returns:
        The associated web application class loader
      • getEffectiveMajorVersion

        public int getEffectiveMajorVersion()
        Description copied from interface: javax.servlet.ServletContext
        Obtain the major version of the servlet specification for which this web application is implemented.
        Specified by:
        getEffectiveMajorVersion in interface ServletContext
        Returns:
        The major version declared in web.xml
      • getEffectiveMinorVersion

        public int getEffectiveMinorVersion()
        Description copied from interface: javax.servlet.ServletContext
        Obtain the minor version of the servlet specification for which this web application is implemented.
        Specified by:
        getEffectiveMinorVersion in interface ServletContext
        Returns:
        The minor version declared in web.xml
      • getServletRegistrations

        public java.util.Map<java.lang.String,​? extends ServletRegistration> getServletRegistrations()
        Description copied from interface: javax.servlet.ServletContext
        Obtain a Map of servlet names to servlet registrations for all servlets registered with this context.
        Specified by:
        getServletRegistrations in interface ServletContext
        Returns:
        A Map of servlet names to servlet registrations for all servlets registered with this context
      • getVirtualServerName

        public java.lang.String getVirtualServerName()
        Description copied from interface: javax.servlet.ServletContext
        Get the primary name of the virtual host on which this context is deployed. The name may or may not be a valid host name.
        Specified by:
        getVirtualServerName in interface ServletContext
        Returns:
        The primary name of the virtual host on which this context is deployed
      • setSessionTimeout

        public void setSessionTimeout​(int sessionTimeout)
        Description copied from interface: javax.servlet.ServletContext
        Set the default session timeout. This method may only be called before the ServletContext is initialised.
        Specified by:
        setSessionTimeout in interface ServletContext
        Parameters:
        sessionTimeout - The new default session timeout in minutes.
      • getRequestCharacterEncoding

        public java.lang.String getRequestCharacterEncoding()
        Description copied from interface: javax.servlet.ServletContext
        Get the default character encoding for reading request bodies.
        Specified by:
        getRequestCharacterEncoding in interface ServletContext
        Returns:
        The character encoding name or null if no default has been specified
      • setRequestCharacterEncoding

        public void setRequestCharacterEncoding​(java.lang.String encoding)
        Description copied from interface: javax.servlet.ServletContext
        Set the default character encoding to use for reading request bodies. Calling this method will over-ride any value set in the deployment descriptor.
        Specified by:
        setRequestCharacterEncoding in interface ServletContext
        Parameters:
        encoding - The name of the character encoding to use
      • getResponseCharacterEncoding

        public java.lang.String getResponseCharacterEncoding()
        Description copied from interface: javax.servlet.ServletContext
        Get the default character encoding for writing response bodies.
        Specified by:
        getResponseCharacterEncoding in interface ServletContext
        Returns:
        The character encoding name or null if no default has been specified
      • setResponseCharacterEncoding

        public void setResponseCharacterEncoding​(java.lang.String encoding)
        Description copied from interface: javax.servlet.ServletContext
        Set the default character encoding to use for writing response bodies. Calling this method will over-ride any value set in the deployment descriptor.
        Specified by:
        setResponseCharacterEncoding in interface ServletContext
        Parameters:
        encoding - The name of the character encoding to use