Precompiling JSP Pages
To avoid hitting your site visitors
with the delay caused by the
conversion of a JSP page into a servlet on the first access, you can
precompile all pages in the application. Another use of
precompilation is if you don’t want anyone to change
the pages in a JSP-based application after the application has been
deployed. In this case, you can precompile all pages, define URL
mappings for all JSP pages in the
application
deployment descriptor, and install just the Java class files for the
compiled pages. We look at both these scenarios in this section.
One way of precompiling all pages in an application is to simply run
through the application in a development environment and make sure
you hit all pages. You can then copy the class files together with
all the rest of the application to the production server when you
deploy the application. Where the class files are stored varies
between containers. Tomcat stores all JSP page implementation classes
in its work
directory by default, in a
subdirectory per web application. As long as the modification date of
the class files are more recent than the corresponding JSP pages, the
production server uses the copied class files.
The JSP specification also defines a special request parameter that can give the JSP container a hint that the page should be compiled without letting the page process the request. An advantage of using this method is that you can automatically invoke each page, perhaps using a simple load testing ...
Get JavaServer Pages, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.