升级Tomcat版本 apache-tomcat-7.0.77
diff --git a/tomcat-uidm/webapps/docs/jasper-howto.html b/tomcat-uidm/webapps/docs/jasper-howto.html
index 451e692..8844dc5 100644
--- a/tomcat-uidm/webapps/docs/jasper-howto.html
+++ b/tomcat-uidm/webapps/docs/jasper-howto.html
@@ -1,19 +1,94 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 6.0 (6.0.41) - Jasper 2 JSP Engine How To</title><meta name="author" content="Glenn L. Nielsen"><meta name="author" content="Peter Rossbach"><style type="text/css" media="print">

-			.noPrint {display: none;}

-			td#mainBody {width: 100%;}

-		</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="./images/tomcat.gif" align="right" alt="

+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat 7 (7.0.77) - Jasper 2 JSP Engine How To</title><meta name="author" content="Glenn L. Nielsen"><meta name="author" content="Peter Rossbach"><style type="text/css" media="print">

+    .noPrint {display: none;}

+    td#mainBody {width: 100%;}

+</style><style type="text/css">

+code {background-color:rgb(224,255,255);padding:0 0.1em;}

+code.attributeName, code.propertyName {background-color:transparent;}

+

+

+table {

+  border-collapse: collapse;

+  text-align: left;

+}

+table *:not(table) {

+  /* Prevent border-collapsing for table child elements like <div> */

+  border-collapse: separate;

+}

+

+th {

+  text-align: left;

+}

+

+

+div.codeBox pre code, code.attributeName, code.propertyName, code.noHighlight, .noHighlight code {

+  background-color: transparent;

+}

+div.codeBox {

+  overflow: auto;

+  margin: 1em 0;

+}

+div.codeBox pre {

+  margin: 0;

+  padding: 4px;

+  border: 1px solid #999;

+  border-radius: 5px;

+  background-color: #eff8ff;

+  display: table; /* To prevent <pre>s from taking the complete available width. */

+  /*

+  When it is officially supported, use the following CSS instead of display: table

+  to prevent big <pre>s from exceeding the browser window:

+  max-width: available;

+  width: min-content;

+  */

+}

+

+div.codeBox pre.wrap {

+  white-space: pre-wrap;

+}

+

+

+table.defaultTable tr, table.detail-table tr {

+    border: 1px solid #CCC;

+}

+

+table.defaultTable tr:nth-child(even), table.detail-table tr:nth-child(even) {

+    background-color: #FAFBFF;

+}

+

+table.defaultTable tr:nth-child(odd), table.detail-table tr:nth-child(odd) {

+    background-color: #EEEFFF;

+}

+

+table.defaultTable th, table.detail-table th {

+  background-color: #88b;

+  color: #fff;

+}

+

+table.defaultTable th, table.defaultTable td, table.detail-table th, table.detail-table td {

+  padding: 5px 8px;

+}

+

+

+p.notice {

+    border: 1px solid rgb(255, 0, 0);

+    background-color: rgb(238, 238, 238);

+    color: rgb(0, 51, 102);

+    padding: 0.5em;

+    margin: 1em 2em 1em 1em;

+}

+</style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="./images/tomcat.gif" align="right" alt="

       The Apache Tomcat Servlet/JSP Container

-    " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.41, May 19 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="./images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat 6.0</h1><h2>Jasper 2 JSP Engine How To</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

-<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Configuration">Configuration</a></li><li><a href="#Known_issues">Known issues</a></li><li><a href="#Production_Configuration">Production Configuration</a></li><li><a href="#Web_Application_Compilation">Web Application Compilation</a></li><li><a href="#Using_Jikes">Using Jikes</a></li></ul>

+    " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 7</font></h1><font face="arial,helvetica,sanserif">Version 7.0.77, Mar 28 2017</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="./images/asf-logo.svg" align="right" alt="Apache Logo" border="0" style="width: 266px;height: 83px;"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap class="noPrint"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://wiki.apache.org/tomcat/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL/TLS</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptors-howto.html">16) MBeans Descriptors</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="extras.html">26) Additional Components</a></li><li><a href="maven-jars.html">27) Mavenized</a></li><li><a href="security-howto.html">28) Security Considerations</a></li><li><a href="windows-service-howto.html">29) Windows Service</a></li><li><a href="windows-auth-howto.html">30) Windows Authentication</a></li><li><a href="jdbc-pool.html">31) Tomcat's JDBC Pool</a></li><li><a href="web-socket-howto.html">32) WebSocket</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Tomcat Javadocs</a></li><li><a href="servletapi/index.html">Servlet Javadocs</a></li><li><a href="jspapi/index.html">JSP 2.2 Javadocs</a></li><li><a href="elapi/index.html">EL 2.2 Javadocs</a></li><li><a href="websocketapi/index.html">WebSocket 1.1 Javadocs</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="http://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li><li><a href="tribes/introduction.html">Tribes</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Jasper 2 JSP Engine How To</h1><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>

+<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Configuration">Configuration</a></li><li><a href="#Known_issues">Known issues</a></li><li><a href="#Production_Configuration">Production Configuration</a></li><li><a href="#Web_Application_Compilation">Web Application Compilation</a></li><li><a href="#Optimisation">Optimisation</a></li></ul>

 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>

 

-<p>Tomcat 6.0 uses the Jasper 2 JSP Engine to implement

-the <a href="http://wiki.apache.org/tomcat/Specifications">JavaServer Pages 2.1</a>

+<p>Tomcat 7.0 uses the Jasper 2 JSP Engine to implement

+the <a href="http://wiki.apache.org/tomcat/Specifications">JavaServer Pages 2.2</a>

 specification.</p>

 

 <p>Jasper 2 has been redesigned to significantly improve performance over

 the original Jasper.  In addition to general code improvements the following

-changes were made:

+changes were made:</p>

 <ul>

 <li><strong>JSP Custom Tag Pooling</strong> - The java objects instantiated

 for JSP Custom Tags can now be pooled and reused.  This significantly boosts

@@ -32,7 +107,7 @@
 compilation. This compiler loads source dependencies from the container

 classloader. Ant and javac can still be used.</li>

 </ul>

-</p>

+

 

 <p>Jasper is implemented using the servlet class

 <code>org.apache.jasper.servlet.JspServlet</code>.</p>

@@ -40,13 +115,13 @@
 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>

 

 <p>By default Jasper is configured for use when doing web application

-development.  See the section <a href="#Production Configuration">

+development.  See the section <a href="#Production_Configuration">

 Production Configuration</a> for information on configuring Jasper

 for use on a production Tomcat server.</p>

 

 <p>The servlet which implements Jasper is configured using init parameters

 in your global <code>$CATALINA_BASE/conf/web.xml</code>.

-

+</p>

 <ul>

 <li><strong>checkInterval</strong> - If development is false and checkInterval

 is greater than zero, background compiles are enabled. checkInterval is the time

@@ -65,15 +140,20 @@
 classpath is created dynamically based on the current web application.</li>

 

 <li><strong>compiler</strong> - Which compiler Ant should use to compile JSP

-pages.  See the Ant documentation for more information. If the value is not set,

-then the default Eclipse JDT Java compiler will be used instead of using Ant. 

-No default value.</li>

+pages. The valid values for this are the same as for the compiler attribute of

+Ant's

+<a href="http://ant.apache.org/manual/Tasks/javac.html#compilervalues">javac</a>

+task. If the value is not set, then the default Eclipse JDT Java compiler will

+be used instead of using Ant. There is no default value. If this attribute is

+set then <code>setenv.[sh|bat]</code> should be used to add

+<code>ant.jar</code>, <code>ant-launcher.jar</code> and <code>tools.jar</code>

+to the <code>CLASSPATH</code> environment variable.</li>

 

 <li><strong>compilerSourceVM</strong> - What JDK version are the source files

-compatible with? (Default value: <code>1.5</code>)</li>

+compatible with? (Default value: <code>1.6</code>)</li>

 

 <li><strong>compilerTargetVM</strong> - What JDK version are the generated files

-compatible with? (Default value: <code>1.5</code>)</li>

+compatible with? (Default value: <code>1.6</code>)</li>

 

 <li><strong>development</strong> - Is Jasper used in development mode? If true,

 the frequency at which JSPs are checked for modification may be specified via

@@ -96,7 +176,7 @@
 

 <li><strong>engineOptionsClass</strong> - Allows specifying the Options class

 used to configure Jasper. If not present, the default EmbeddedServletOptions

-will be used.

+will be used. This option is ignored if running under a SecurityManager.

 </li>

 

 <li><strong>errorOnUseBeanInvalidClassAttribute</strong> - Should Jasper issue

@@ -108,10 +188,8 @@
 performed in a separate JVM from Tomcat? <code>true</code> or

 <code>false</code>, default <code>true</code>.</li>

 

-<li><strong>genStringAsCharArray</strong> - Should text strings be generated as

-char arrays, to improve performance in some cases? Default

-<code>false</code>. The alternative name of <strong>genStrAsCharArray</strong>

-for this initialisation parameter is also supported.</li>

+<li><strong>genStringAsCharArray</strong> - Should text strings be generated as char

+arrays, to improve performance in some cases? Default <code>false</code>.</li>

 

 <li><strong>ieClassId</strong> - The class-id value to be sent to Internet

 Explorer when using &lt;jsp:plugin&gt; tags.   Default

@@ -124,10 +202,20 @@
 code for each page instead of deleting it? <code>true</code> or

 <code>false</code>, default <code>true</code>.</li>

 

-<li><strong>mappedfile</strong> - Should we generate static content with one 

+<li><strong>mappedfile</strong> - Should we generate static content with one

 print statement per input line, to ease debugging?

 <code>true</code> or <code>false</code>, default <code>true</code>.</li>

 

+<li><strong>maxLoadedJsps</strong> - The maximum number of JSPs that will be

+loaded for a web application. If more than this number of JSPs are loaded, the

+least recently used JSPs will be unloaded so that the number of JSPs loaded at

+any one time does not exceed this limit. A value of zero or less indicates no

+limit. Default <code>-1</code></li>

+

+<li><strong>jspIdleTimeout</strong> - The amount of time in seconds a JSP can be

+idle before it is unloaded. A value of zero or less indicates never unload.

+Default <code>-1</code></li>

+

 <li><strong>modificationTestInterval</strong> - Causes a JSP (and its dependent

 files) to not be checked for modification during the specified time interval

 (in seconds) from the last time the JSP was checked for modification. A value of

@@ -141,20 +229,25 @@
 

 <li><strong>scratchdir</strong> - What scratch directory should we use when

 compiling JSP pages? Default is the work directory for the current web

-application.</li>

+application. This option is ignored if running under a SecurityManager.</li>

 

 <li><strong>suppressSmap</strong> - Should the generation of SMAP info for JSR45

 debugging be suppressed? <code>true</code> or <code>false</code>, default

 <code>false</code>.</li>

- 

+

 <li><strong>trimSpaces</strong> - Should white spaces in template text between

 actions or directives be trimmed ?, default <code>false</code>.</li>

 

 <li><strong>xpoweredBy</strong> - Determines whether X-Powered-By response

 header is added by generated servlet. <code>true</code> or <code>false</code>,

 default <code>false</code>.</li>

+

+<li><strong>quoteAttributeEL</strong> - When EL is used in an attribute value

+on a JSP page, should the rules for quoting of attributes described in JSP.1.6

+be applied to the expression? <code>true</code> or <code>false</code>, default

+<code>true</code>.</li>

 </ul>

-</p>

+

 

 <p>The Java compiler from Eclipse JDT in included as the default compiler. It is

 an advanced Java compiler which will load all dependencies from the Tomcat class

@@ -163,26 +256,25 @@
 for even large JSP  pages.</p>

 

 <p>Apache Ant, which was used in previous Tomcat releases, can be used instead

-of the new compiler by simply removing the <code>lib/ecj-*.jar</code> file, 

-and placing the <code>ant.jar</code> and <code>ant-launcher.jar</code> files

-from the latest Ant distribution in the <code>lib</code> folder.</p>

+of the new compiler by configuring the compiler attribute as explained above.

+</p>

 

 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Known issues"><!--()--></a><a name="Known_issues"><strong>Known issues</strong></a></font></td></tr><tr><td><blockquote>

 

 <p>As described in

-<a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=39089">

+<a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=39089">

 bug 39089</a>, a known JVM issue,

 <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6294277">

 bug 6294277</a>, may cause a

 <code>java.lang.InternalError: name is too long to represent</code> exception

 when compiling very large JSPs. If this is observed then it may be worked around

 by using one of the following:

+</p>

 <ul>

 <li>reduce the size of the JSP</li>

 <li>disable SMAP generation and JSR-045 support by setting

 <code>suppressSmap</code> to <code>true</code>.</li>

 </ul>

-</p>

 

 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Production Configuration"><!--()--></a><a name="Production_Configuration"><strong>Production Configuration</strong></a></font></td></tr><tr><td><blockquote>

 

@@ -192,11 +284,11 @@
 Jasper servlet becomes critical.</p>

 

 <p>When using Jasper 2 in a production Tomcat server you should consider making

-the following changes from the default configuration.

+the following changes from the default configuration.</p>

 <ul>

 <li><strong>development</strong> - To disable on access checks for JSP

 pages compilation set this to <code>false</code>.</li>

-<li><strong>genStringAsCharArray</strong> - To generate slightly more efficient 

+<li><strong>genStringAsCharArray</strong> - To generate slightly more efficient

 char arrays, set this to <code>true</code>.</li>

 <li><strong>modificationTestInterval</strong> - If development has to be set to

 <code>true</code> for any reason (such as dynamic generation of JSPs), setting

@@ -204,32 +296,29 @@
 <li><strong>trimSpaces</strong> - To remove useless bytes from the response,

 set this to <code>true</code>.</li>

 </ul>

-</p>

 

 </blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Web Application Compilation"><!--()--></a><a name="Web_Application_Compilation"><strong>Web Application Compilation</strong></a></font></td></tr><tr><td><blockquote>

 

 <p>Using Ant is the preferred way to compile web applications using JSPC. Note

-that when pre-compiling JSPs, SMAP information only be included in the final

-classes if suppressSmap is false and compile is true. 

-Use the script given below (a similar script is included in the "deployer" 

+that when pre-compiling JSPs, SMAP information will only be included in the

+final classes if suppressSmap is false and compile is true.

+Use the script given below (a similar script is included in the "deployer"

 download) to precompile a webapp:

 </p>

 

-<p>

-<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

-&lt;project name="Webapp Precompilation" default="all" basedir="."&gt; 

+<div class="codeBox"><pre><code>&lt;project name="Webapp Precompilation" default="all" basedir="."&gt;

 

    &lt;import file="${tomcat.home}/bin/catalina-tasks.xml"/&gt;

-  

-   &lt;target name="jspc"&gt; 

 

-    &lt;jasper 

-             validateXml="false" 

-             uriroot="${webapp.path}" 

-             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml" 

-             outputDir="${webapp.path}/WEB-INF/src" /&gt; 

+   &lt;target name="jspc"&gt;

 

-  &lt;/target&gt; 

+    &lt;jasper

+             validateXml="false"

+             uriroot="${webapp.path}"

+             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"

+             outputDir="${webapp.path}/WEB-INF/src" /&gt;

+

+  &lt;/target&gt;

 

   &lt;target name="compile"&gt;

 

@@ -239,8 +328,8 @@
     &lt;javac destdir="${webapp.path}/WEB-INF/classes"

            optimize="off"

            debug="on" failonerror="false"

-           srcdir="${webapp.path}/WEB-INF/src" 

-	   excludes="**/*.smap"&gt;

+           srcdir="${webapp.path}/WEB-INF/src"

+           excludes="**/*.smap"&gt;

       &lt;classpath&gt;

         &lt;pathelement location="${webapp.path}/WEB-INF/classes"/&gt;

         &lt;fileset dir="${webapp.path}/WEB-INF/lib"&gt;

@@ -250,9 +339,9 @@
         &lt;fileset dir="${tomcat.home}/lib"&gt;

           &lt;include name="*.jar"/&gt;

         &lt;/fileset&gt;

-        &lt;fileset dir="${tomcat.home}/bin"&gt; 

-          &lt;include name="*.jar"/&gt; 

-        &lt;/fileset&gt; 

+        &lt;fileset dir="${tomcat.home}/bin"&gt;

+          &lt;include name="*.jar"/&gt;

+        &lt;/fileset&gt;

       &lt;/classpath&gt;

       &lt;include name="**" /&gt;

       &lt;exclude name="tags/**" /&gt;

@@ -264,35 +353,32 @@
   &lt;/target&gt;

 

   &lt;target name="cleanup"&gt;

-  	&lt;delete&gt;

+    &lt;delete&gt;

         &lt;fileset dir="${webapp.path}/WEB-INF/src"/&gt;

         &lt;fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/&gt;

-  	&lt;/delete&gt;

+    &lt;/delete&gt;

   &lt;/target&gt;

 

-&lt;/project&gt;

-</pre></td><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

-</p>

+&lt;/project&gt;</code></pre></div>

 

 <p>

 The following command line can be used to run the script

-(replacing the tokens with the Tomcat base path and the path to the webapp 

-which should be precompiled):<br>

-<div align="left"><table cellspacing="4" cellpadding="0" border="0"><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#ffffff" height="1"><pre>

-$ANT_HOME/bin/ant -Dtomcat.home=&lt;$TOMCAT_HOME&gt; -Dwebapp.path=&lt;$WEBAPP_PATH&gt;

-</pre></td><td bgcolor="#023264" width="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr><tr><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td><td bgcolor="#023264" width="1" height="1"><img src="./images/void.gif" alt="" width="1" height="1" vspace="0" hspace="0" border="0"></td></tr></table></div>

+(replacing the tokens with the Tomcat base path and the path to the webapp

+which should be precompiled):

 </p>

+<div class="codeBox"><pre><code>$ANT_HOME/bin/ant -Dtomcat.home=&lt;$TOMCAT_HOME&gt; -Dwebapp.path=&lt;$WEBAPP_PATH&gt;</code></pre></div>

+

 

 <p>

-Then, the declarations and mappings for the servlets which were generated 

+Then, the declarations and mappings for the servlets which were generated

 during the precompilation must be added to the web application deployment

 descriptor. Insert the <code>${webapp.path}/WEB-INF/generated_web.xml</code>

 at the right place inside the <code>${webapp.path}/WEB-INF/web.xml</code> file.

-Restart the web application (using the manager) and test it to verify it is 

+Restart the web application (using the manager) and test it to verify it is

 running fine with precompiled servlets. An appropriate token placed in the

 web application deployment descriptor may also be used to automatically

-insert the generated servlet declarations and mappings using Ant filtering 

-capabilities. This is actually how all the webapps distributed with Tomcat 

+insert the generated servlet declarations and mappings using Ant filtering

+capabilities. This is actually how all the webapps distributed with Tomcat

 are automatically compiled as part of the build process.

 </p>

 

@@ -300,24 +386,24 @@
 At the jasper task you can use the option <code>addWebXmlMappings</code> for

 automatic merge the <code>${webapp.path}/WEB-INF/generated_web.xml</code>

 with the current web application deployment descriptor at

-<code>${webapp.path}/WEB-INF/web.xml</code>. When you want to use Java 5

+<code>${webapp.path}/WEB-INF/web.xml</code>. When you want to use Java 6

 features inside your jsp's, add the following javac compiler task attributes:

-<code>source="1.5" target="1.5"</code>. For live

+<code>source="1.6" target="1.6"</code>. For live

 applications you can also compile with <code>optimize="on"</code> and

 without debug info <code>debug="off"</code>.

 </p>

 

 <p>

-When you don't want to stop the jsp generation at first jsp syntax error, use   

+When you don't want to stop the jsp generation at first jsp syntax error, use

 <code>failOnError="false"</code>and with

-<code>showSuccess="true"</code> all successfull <i>jsp to java</i>

-generation are printed out. Sometimes it is very helpfull, when you cleanup the

+<code>showSuccess="true"</code> all successful <i>jsp to java</i>

+generation are printed out. Sometimes it is very helpful, when you cleanup the

 generate java source files at <code>${webapp.path}/WEB-INF/src</code>

 and the compile jsp servlet classes at

 <code>${webapp.path}/WEB-INF/classes/org/apache/jsp</code>.

 </p>

 

-<p><strong>Hints:</strong>

+<p><strong>Hints:</strong></p>

 <ul>

 <li> When you switch to another Tomcat release, then regenerate and recompile

 your jsp's with the new Tomcat version.</li>

@@ -328,30 +414,51 @@
 that changing from the defaults may affect performance, but it will vary

 depending on the application.</li>

 </ul>

-</p>

-</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Using Jikes"><!--()--></a><a name="Using_Jikes"><strong>Using Jikes</strong></a></font></td></tr><tr><td><blockquote>

-

-<p>If you wish to use

-<a href="http://oss.software.ibm.com/developerworks/opensource/jikes/">

-Jikes</a> to compile JSP pages:

-<ul>

-<li>From your <a href="http://ant.apache.org">Ant</a> installation, copy ant.jar

-and (if it's available: Ant 1.5 and later) ant-launcher.jar to 

-<code>$CATALINA_HOME/lib</code>.</li>

-<li>Download and install jikes. jikes must support the -encoding option.

-Execute <code>jikes -help</code> to verify that it was built with support

-for <code>-encoding</code>.</li>

-<li>Set the init parameter <code>compiler</code> to <code>jikes</code>.</li>

-<li>Define the property <code>-Dbuild.compiler.emacs=true</code> when starting

-Tomcat by adding it to your <code>CATALINA_OPTS</code> environment variable.

-This changes how jikes outputs error messages so that it is compatible with

-Jasper.</li>

-<li>If you get an error reporting that jikes can't use UTF8 encoding, try

-setting the init parameter <code>javaEncoding</code> to

-<code>ISO-8859-1</code>.</li>

-</ul>

+</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Optimisation"><strong>Optimisation</strong></a></font></td></tr><tr><td><blockquote>

+<p>

+There are a number of extension points provided within Jasper that enable the

+user to optimise the behaviour for their environment.

 </p>

 

-</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

-        Copyright &copy; 1999-2014, Apache Software Foundation

+<p>

+The first of these extension points is the tag plug-in mechanism. This allows

+alternative implementations of tag handlers to be provided for a web application

+to use. Tag plug-ins are registered via a <code>tagPlugins.xml</code> file

+located under <code>WEB-INF</code>. A sample plug-in for the JSTL is included

+with Jasper. 

+</p>

+

+<p>

+The second extension point is the Expression Language interpreter. Alternative

+interpreters may be configured through the <code>ServletContext</code>. See the

+<code>ELInterpreterFactory</code> javadoc for details of how to configure an

+alternative EL interpreter. 

+</p>

+</blockquote></td></tr></table></td></tr><tr class="noPrint"><td width="20%" valign="top" nowrap class="noPrint"></td><td width="80%" valign="top" align="left"><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="comments_section" id="comments_section"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote><p class="notice"><strong>Notice: </strong>This comments section collects your suggestions

+              on improving documentation for Apache Tomcat.<br><br>

+              If you have trouble and need help, read

+              <a href="http://tomcat.apache.org/findhelp.html">Find Help</a> page

+              and ask your question on the tomcat-users

+              <a href="http://tomcat.apache.org/lists.html">mailing list</a>.

+              Do not ask such questions here. This is not a Q&amp;A section.<br><br>

+              The Apache Comments System is explained <a href="./comments.html">here</a>.

+              Comments may be removed by our moderators if they are either

+              implemented or considered invalid/off-topic.</p><script type="text/javascript"><!--//--><![CDATA[//><!--

+              var comments_shortname = 'tomcat';

+              var comments_identifier = 'http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html';

+              (function(w, d) {

+                  if (w.location.hostname.toLowerCase() == "tomcat.apache.org") {

+                      d.write('<div id="comments_thread"><\/div>');

+                      var s = d.createElement('script');

+                      s.type = 'text/javascript';

+                      s.async = true;

+                      s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;

+                      (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);

+                  }

+                  else {

+                      d.write('<div id="comments_thread"><strong>Comments are disabled for this page at the moment.<\/strong><\/div>');

+                  }

+              })(window, document);

+              //--><!]]></script></blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>

+        Copyright &copy; 1999-2017, Apache Software Foundation

         </em></font></div></td></tr></table></body></html>
\ No newline at end of file