Package org.apache.jasper.servlet
Class JspServletWrapper
- java.lang.Object
-
- org.apache.jasper.servlet.JspServletWrapper
-
public class JspServletWrapper extends java.lang.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 Summary
Constructors Constructor Description JspServletWrapper(ServletConfig config, Options options, java.lang.String jspUri, JspRuntimeContext rctxt)
JspServletWrapper(ServletContext servletContext, Options options, java.lang.String tagFilePath, TagInfo tagInfo, JspRuntimeContext rctxt, Jar tagJar)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
decTripCount()
void
destroy()
java.util.Map<java.lang.String,java.lang.Long>
getDependants()
Get a list of files that the current page has source dependency on.JspCompilationContext
getJspEngineContext()
java.lang.String
getJspUri()
long
getLastModificationTest()
long
getLastUsageTime()
boolean
getReload()
Servlet
getServlet()
ServletContext
getServletContext()
FastRemovalDequeue.Entry
getUnloadHandle()
protected JasperException
handleJspException(java.lang.Exception ex)
Attempts to construct a JasperException that contains helpful information about what went wrong.int
incTripCount()
boolean
isTagFile()
java.lang.Class<?>
loadTagFile()
Compile (if needed) and load a tag file.java.lang.Class<?>
loadTagFilePrototype()
Compile and load a prototype for the Tag file.void
service(HttpServletRequest request, HttpServletResponse response, boolean precompile)
void
setCompilationException(JasperException je)
Sets the compilation exception for this JspServletWrapper.void
setLastModificationTest(long lastModificationTest)
void
setReload(boolean reload)
void
setServletClassLastModifiedTime(long lastModified)
Sets the last-modified time of the servlet class file associated with this JspServletWrapper.
-
-
-
Constructor Detail
-
JspServletWrapper
public JspServletWrapper(ServletConfig config, Options options, java.lang.String jspUri, JspRuntimeContext rctxt)
-
JspServletWrapper
public JspServletWrapper(ServletContext servletContext, Options options, java.lang.String tagFilePath, TagInfo tagInfo, JspRuntimeContext rctxt, Jar tagJar)
-
-
Method Detail
-
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 java.lang.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 java.lang.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 java.util.Map<java.lang.String,java.lang.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 java.lang.String getJspUri()
-
getUnloadHandle
public FastRemovalDequeue.Entry getUnloadHandle()
-
service
public void service(HttpServletRequest request, HttpServletResponse response, boolean precompile) throws ServletException, java.io.IOException, java.io.FileNotFoundException
- Throws:
ServletException
java.io.IOException
java.io.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(java.lang.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
-
-