Class JspServlet

  • All Implemented Interfaces:
    java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    public class JspServlet
    extends javax.servlet.http.HttpServlet
    The JSP engine (a.k.a Jasper). The servlet container is responsible for providing a URLClassLoader for the web application context Jasper is being used in. Jasper will try get the Tomcat ServletContext attribute for its ServletContext class loader, if that fails, it uses the parent class loader. In either case, it must be a URLClassLoader.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      JspServlet()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void destroy()  
      int getJspCount()
      Returns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp with which this JspServlet is associated.
      int getJspErrorCount()
      Gets the number of errors triggered by JSP invocations.
      int getJspReloadCount()
      Gets the number of JSPs that have been reloaded.
      private void incrementErrorCount​(java.lang.String jspUri)  
      void init​(javax.servlet.ServletConfig config)  
      (package private) boolean preCompile​(javax.servlet.http.HttpServletRequest request)
      Look for a precompilation request as described in Section 8.4.2 of the JSP 1.2 Specification.
      void service​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)  
      private void serviceJspFile​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String jspUri, java.lang.Throwable exception, boolean precompile)  
      void setJspReloadCount​(int count)
      Resets the JSP reload counter.
      • Methods inherited from class javax.servlet.http.HttpServlet

        doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
      • Methods inherited from class javax.servlet.GenericServlet

        getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • log

        private static java.util.logging.Logger log
      • context

        private javax.servlet.ServletContext context
      • config

        private javax.servlet.ServletConfig config
      • countErrors

        private java.util.concurrent.atomic.AtomicInteger countErrors
      • httpMethodsString

        private java.lang.String httpMethodsString
      • httpMethodsSet

        private java.util.HashSet<java.lang.String> httpMethodsSet
      • taglibs

        private java.util.concurrent.ConcurrentHashMap<java.lang.String,​TagLibraryInfo> taglibs
      • tagFileJarUrls

        private java.util.concurrent.ConcurrentHashMap<java.lang.String,​java.net.URL> tagFileJarUrls
    • Constructor Detail

      • JspServlet

        public JspServlet()
    • Method Detail

      • init

        public void init​(javax.servlet.ServletConfig config)
                  throws javax.servlet.ServletException
        Specified by:
        init in interface javax.servlet.Servlet
        Overrides:
        init in class javax.servlet.GenericServlet
        Throws:
        javax.servlet.ServletException
      • getJspCount

        public int getJspCount()
        Returns the number of JSPs for which JspServletWrappers exist, i.e., the number of JSPs that have been loaded into the webapp with which this JspServlet is associated.

        This info may be used for monitoring purposes.

        Returns:
        The number of JSPs that have been loaded into the webapp with which this JspServlet is associated
      • setJspReloadCount

        public void setJspReloadCount​(int count)
        Resets the JSP reload counter.
        Parameters:
        count - Value to which to reset the JSP reload counter
      • getJspReloadCount

        public int getJspReloadCount()
        Gets the number of JSPs that have been reloaded.

        This info may be used for monitoring purposes.

        Returns:
        The number of JSPs (in the webapp with which this JspServlet is associated) that have been reloaded
      • getJspErrorCount

        public int getJspErrorCount()
        Gets the number of errors triggered by JSP invocations.
        Returns:
        The number of errors triggered by JSP invocations
      • preCompile

        boolean preCompile​(javax.servlet.http.HttpServletRequest request)
                    throws javax.servlet.ServletException

        Look for a precompilation request as described in Section 8.4.2 of the JSP 1.2 Specification. WARNING - we cannot use request.getParameter() for this, because that will trigger parsing all of the request parameters, and not give a servlet the opportunity to call request.setCharacterEncoding() first.

        Parameters:
        request - The servlet requset we are processing
        Throws:
        javax.servlet.ServletException - if an invalid parameter value for the jsp_precompile parameter name is specified
      • service

        public void service​(javax.servlet.http.HttpServletRequest request,
                            javax.servlet.http.HttpServletResponse response)
                     throws javax.servlet.ServletException,
                            java.io.IOException
        Overrides:
        service in class javax.servlet.http.HttpServlet
        Throws:
        javax.servlet.ServletException
        java.io.IOException
      • destroy

        public void destroy()
        Specified by:
        destroy in interface javax.servlet.Servlet
        Overrides:
        destroy in class javax.servlet.GenericServlet
      • serviceJspFile

        private void serviceJspFile​(javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    java.lang.String jspUri,
                                    java.lang.Throwable exception,
                                    boolean precompile)
                             throws javax.servlet.ServletException,
                                    java.io.IOException
        Throws:
        javax.servlet.ServletException
        java.io.IOException
      • incrementErrorCount

        private void incrementErrorCount​(java.lang.String jspUri)