Class JspServletWrapper

java.lang.Object
org.apache.jasper.servlet.JspServletWrapper

public class JspServletWrapper extends Object
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.
Author:
Anil K. Vijendran, Harish Prabandham, Remy Maucherat, Kin-man Chung, Glenn Nielsen, Tim Fennell
  • Constructor Details

  • Method Details

    • getJspEngineContext

      public JspCompilationContext getJspEngineContext()
    • setReload

      public void setReload(boolean reload)
    • getReload

      public boolean getReload()
    • getServlet

      public Servlet getServlet() throws ServletException
      Throws:
      ServletException
    • getServletContext

      public ServletContext getServletContext()
    • setCompilationException

      public void setCompilationException(JasperException je)
      Sets the compilation exception for this JspServletWrapper.
      Parameters:
      je - The compilation exception
    • setServletClassLastModifiedTime

      public void setServletClassLastModifiedTime(long lastModified)
      Sets the last-modified time of the servlet class file associated with this JspServletWrapper.
      Parameters:
      lastModified - Last-modified time of servlet class
    • loadTagFile

      public Class<?> loadTagFile() throws JasperException
      Compile (if needed) and load a tag file.
      Returns:
      the loaded class
      Throws:
      JasperException - Error compiling or loading tag file
    • loadTagFilePrototype

      public Class<?> loadTagFilePrototype() throws JasperException
      Compile and load a prototype for the Tag file. This is needed when compiling tag files with circular dependencies. A prototype (skeleton) with no dependencies on other other tag files is generated and compiled.
      Returns:
      the loaded class
      Throws:
      JasperException - Error compiling or loading tag file
    • getDependants

      public Map<String,Long> getDependants()
      Get a list of files that the current page has source dependency on.
      Returns:
      the map of dependent resources
    • isTagFile

      public boolean isTagFile()
    • incTripCount

      public int incTripCount()
    • decTripCount

      public int decTripCount()
    • getJspUri

      public String getJspUri()
    • getUnloadHandle

      public FastRemovalDequeue<JspServletWrapper>.Entry getUnloadHandle()
    • service

      public void service(HttpServletRequest request, HttpServletResponse response, boolean precompile) throws ServletException, IOException, FileNotFoundException
      Throws:
      ServletException
      IOException
      FileNotFoundException
    • destroy

      public void destroy()
    • getLastModificationTest

      public long getLastModificationTest()
      Returns:
      Returns the lastModificationTest.
    • setLastModificationTest

      public void setLastModificationTest(long lastModificationTest)
      Parameters:
      lastModificationTest - The lastModificationTest to set.
    • getLastUsageTime

      public long getLastUsageTime()
      Returns:
      the lastUsageTime.
    • handleJspException

      protected JasperException handleJspException(Exception ex)

      Attempts to construct a JasperException that contains helpful information about what went wrong. Uses the JSP compiler system to translate the line number in the generated servlet that originated the exception to a line number in the JSP. Then constructs an exception containing that information, and a snippet of the JSP to help debugging. Please see https://bz.apache.org/bugzilla/show_bug.cgi?id=37062 and http://www.tfenne.com/jasper/ for more details.

      Parameters:
      ex - the exception that was the cause of the problem.
      Returns:
      a JasperException with more detailed information