JSP 运行时编译设置
缺省情况下,JavaServer Pages (JSP) 引擎将转换所请求的 JSP 文件、编译 .java 文件并将编译后的 Servlet 装入到运行时环境中。您可以通过指示不在运行时转换或编译 JSP 文件(即使不存在 .class 文件亦如此)来更改 JSP 引擎的缺省行为。
如果禁用运行时编译,那么必须预编译 JSP 文件,这有下列优势:
- 减少与编译相关的磁盘操作。
- 最大程度地降低处理运行时编译期间生成的临时 .java 文件时的磁盘存储器需求。
- 不必在应用程序中包括 JSP 源文件。
- 允许在产品中部署和安装应用程序之前验证 JSP 文件是否编译成功。
您可以在全局或个别 Web 应用程序基础上禁用运行时 JSP 文件编译:
要对所有 Web 应用程序禁止转换和编译 JSP 文件,请在管理控制台中单击
server_name。然后,在“容器设置”部分中,单击 。如果已定义的定制属性的列表中包含 disableJspRuntimeCompilation 属性,但它设置为 false,请单击属性名并将此属性设置为 true。
如果已定义的定制属性的列表未包含此属性,请单击新建,然后在名称字段中指定 disableJspRuntimeCompilation,并在值字段中指定 true。
此属性的有效设置是 true 和 false。如果此属性设置为 true,那么将禁止所有 Web 应用程序在运行时进行 JSP 文件转换和编译。
要对特定 Web 应用程序禁止转换和编译 JSP 文件,请将 JSP 引擎初始化参数 disableJspRuntimeCompilation 设置为 true。如果启用此设置,那么它将确定 JSP 引擎的运行时行为并覆盖 Web 容器定制属性设置。
在组装应用程序时,请通过 JavaServer Pages 属性组装设置页面来设置此参数。
此设置的有效值是 true 和 false。如果此参数设置为 true,那么对于该特定 Web 应用程序,将禁止在运行时转换和编译 JSP 文件,并且 JSP 引擎将只装入预先编译的文件。
如果既未设置 Web 容器定制属性也未设置 JSP 参数,那么当 .class 文件不存在或过时时,对 JSP 文件发出的第一个请求将导致转换和编译该 JSP 文件。对此文件发出的后继请求也将执行转换和编译,但是只有在符合下列条件时才执行这些操作:
- 由于 .class 文件过时而需要进行转换。
- 已对 Web 模块启用重新装入功能。
- 超出重新装入间隔。
错误 404:SRVE0200E: Servlet [org.apache.jsp._jsp1]: 找不到所需的 Servlet 类 - _jsp1.class
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
如果 JSP 文件有匹配的 .class 文件,但此文件已过时,那么 JSP 引擎仍将 .class 文件装入内存。