Precompiling JSP Pages
To avoid hitting your
site
visitors with the delay caused by converting 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
do not want anyone to change the pages in a JSP-based application
after the application is deployed. In this case you can precompile
all pages, define URI mappings for all JSP pages in the
WEB-INF/web.xml
file, and install the Java class files only
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 other application pages to the production server when you
deploy the application. Where the class files are stored varies
between containers. However, Tomcat stores all JSP page
implementation classes in its work directory by
default, in a subdirectory for the particular web application. As
long as the modification dates of the class files are more recent
than for the corresponding JSP pages, the production server uses the
copied class files.
The JSP specification also defines a special request parameter that can be used to 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access