Class JspServletWrapper
java.lang.Object
org.apache.jasper.servlet.JspServletWrapper
The Jasper JSP engine. The servlet container is responsible for providing a URLClassLoader for the web application
context Jasper is being used in. Jasper will try to 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.
-
Constructor Summary
ConstructorsConstructorDescriptionJspServletWrapper(ServletConfig config, Options options, String jspUri, JspRuntimeContext rctxt) Constructs a JspServletWrapper for JSP pages.JspServletWrapper(ServletContext servletContext, Options options, String tagFilePath, TagInfo tagInfo, JspRuntimeContext rctxt, Jar tagJar) Constructs a JspServletWrapper for tag files. -
Method Summary
Modifier and TypeMethodDescriptionintDecrements and returns the trip count.voiddestroy()Destroys the wrapped servlet, if any.Get a list of files that the current page has source dependency on.Returns the JSP compilation context.Returns the JSP URI.longReturns the timestamp of the last modification test.longReturns the timestamp of the last usage.booleanReturns the reload flag.Gets the servlet, compiling and loading it if necessary.Returns the servlet context.Returns the unload handle for managing JSP unloading.protected JasperExceptionAttempts to construct a JasperException that contains helpful information about what went wrong.intIncrements and returns the trip count.booleanReturns whether this wrapper is for a tag file.Class<?> Compile (if needed) and load a tag file.Class<?> Compile and load a prototype for the Tag file.voidservice(HttpServletRequest request, HttpServletResponse response, boolean precompile) Services the request, compiling and loading the servlet if necessary.voidSets the compilation exception for this JspServletWrapper.voidsetLastModificationTest(long lastModificationTest) Sets the timestamp of the last modification test.voidsetReload(boolean reload) Sets the reload flag.voidsetServletClassLastModifiedTime(long lastModified) Sets the last-modified time of the servlet class file associated with this JspServletWrapper.
-
Constructor Details
-
JspServletWrapper
public JspServletWrapper(ServletConfig config, Options options, String jspUri, JspRuntimeContext rctxt) Constructs a JspServletWrapper for JSP pages.- Parameters:
config- The servlet configoptions- The optionsjspUri- The JSP URIrctxt- The runtime context
-
JspServletWrapper
public JspServletWrapper(ServletContext servletContext, Options options, String tagFilePath, TagInfo tagInfo, JspRuntimeContext rctxt, Jar tagJar) Constructs a JspServletWrapper for tag files.- Parameters:
servletContext- The servlet contextoptions- The optionstagFilePath- The tag file pathtagInfo- The tag inforctxt- The runtime contexttagJar- The tag JAR
-
-
Method Details
-
getJspEngineContext
Returns the JSP compilation context.- Returns:
- the compilation context
-
setReload
public void setReload(boolean reload) Sets the reload flag.- Parameters:
reload- The reload flag
-
getReload
public boolean getReload()Returns the reload flag.- Returns:
- the reload flag
-
getServlet
Gets the servlet, compiling and loading it if necessary.- Returns:
- the servlet
- Throws:
ServletException- if an error occurs
-
getServletContext
-
setCompilationException
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
Compile (if needed) and load a tag file.- Returns:
- the loaded class
- Throws:
JasperException- Error compiling or loading tag file
-
loadTagFilePrototype
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 tag files is generated and compiled.- Returns:
- the loaded class
- Throws:
JasperException- Error compiling or loading tag file
-
getDependants
-
isTagFile
public boolean isTagFile()Returns whether this wrapper is for a tag file.- Returns:
trueif this is a tag file
-
incTripCount
public int incTripCount()Increments and returns the trip count.- Returns:
- the trip count before incrementing
-
decTripCount
public int decTripCount()Decrements and returns the trip count.- Returns:
- the trip count after decrementing
-
getJspUri
-
getUnloadHandle
Returns the unload handle for managing JSP unloading.- Returns:
- the unload handle
-
service
public void service(HttpServletRequest request, HttpServletResponse response, boolean precompile) throws ServletException, IOException, FileNotFoundException Services the request, compiling and loading the servlet if necessary.- Parameters:
request- The HTTP requestresponse- The HTTP responseprecompile- Whether this is a precompile-only request- Throws:
ServletException- if a servlet error occursIOException- if an I/O error occursFileNotFoundException- if the JSP file is not found
-
destroy
public void destroy()Destroys the wrapped servlet, if any. -
getLastModificationTest
public long getLastModificationTest()Returns the timestamp of the last modification test.- Returns:
- the timestamp of the last modification test
-
setLastModificationTest
public void setLastModificationTest(long lastModificationTest) Sets the timestamp of the last modification test.- Parameters:
lastModificationTest- The timestamp to set
-
getLastUsageTime
public long getLastUsageTime()Returns the timestamp of the last usage.- Returns:
- the timestamp of the last usage
-
handleJspException
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 BZ 37062 for more details.
- Parameters:
ex- the exception that was the cause of the problem.- Returns:
- a JasperException with more detailed information
-