JSP 类装入设置
您可以将 JavaServer Pages (JSP) 类配置为由 JSP 引擎的类装入器或由 Web 模块的类装入器装入。
缺省情况下,JSP 类由 JSP 引擎的类装入器的唯一实例装入。JSP 引擎的类装入器允许 JSP 类在运行时重新装入(当 JSP 源或它的其中一个依赖项发生修改时)。这将在必要时允许您重新装入单个 JSP 类,而不会影响任何其他已装入的 JSP 类。
- JSP 引擎配置参数 useFullPackageNames 设置为 true,而 JSP 文件使用本主题后文的表中 <servlet-class> 方案配置为 web.xml 文件中的 Servlet。
- JSP 引擎配置参数 useFullPackageNames 和 disableJspRuntimeCompilation 都设置为 true。在这种情况下,不需要将 JSP 文件配置为 web.xml 文件中的 Servlet。
将 JSP 文件配置为 Servlet
可以将 JSP 文件配置为 web.xml 文件中的 Servlet。有两种方式可以执行此操作。在本节后文的表中描述了这两种方式。
- 重新装入能力 - 如果需要 JavaServer Pages 文件运行时重新装入,那么 JavaServer Pages 文件的请求必须由 JSP 引擎处理。当 <jsp-file> 方案与重新装入兼容时,本节后文的表中 <servlet-class> 方案禁用运行时 JSP 文件重新装入。
- 减少类装入器数 - 如果不需要在运行时重新装入已修改的 JSP 页,且希望减少类装入器实例数,那么可以使用下表中的 <servlet-class> 方案。同样,可以使用第 1 节中的方案 2,而无需将 JSP 文件配置为 Servlet。
方案 | 示例 | 兼容运行时重新装入 | 是否使用多个类装入器? | useFullPackageNames |
---|---|---|---|---|
<jsp-file> | <servlet> <servlet-name>jspOne</servlet-name> <jsp-file>jspOne.jsp</jsp-file> </servlet> |
是 | 是 | 可以为 true 或 false |
<servlet-class> | <servlet> <servlet-name>jspTwo</servlet-name> <servlet-class>_ibmjsp.jspTwo</servlet-class> </servlet> |
否 | 否 | 必须为 true |
JSP 批处理编译器工具帮助您将 JavaServer Pages 文件配置为 Servlet。当 useFullPackageNames 为 true 时,JSP 批处理编译器为它成功翻译和编译的每个 JSP 文件生成 <servlet> 和 <servlet-mapping> 元素。这些元素写入命名为 generated_web.xml 的 web.xml 片段文件,它位于 Web 模块的二进制 WEB-INF 目录中(此目录位于部署的应用程序的 EAR 文件中),该模块由 JSP 文件批处理编译器处理。您可以将部分或所有这些元素复制和粘贴到 web.xml 文件以将 JavaServer Pages 文件配置为 Servlet。
配置库目录的一个示例是 {WAS_ROOT}/profiles/profilename/config/cells/cellname/applications/enterpriseappname/deployments/deployedname/webmodulename
配置库目录的一个示例是 profile_root/config/cells/cellName/applications/enterpriseAppName/deployments/deployedName/webModuleName
应用程序二进制文件目录的一个示例是:{WAS_ROOT}/profiles/profilename/installedApps/nodename/EnterpriseAppName/WebModuleName/
应用程序二进制文件目录的一个示例是:profile_root/installedApps/nodeName/EnterpriseAppName/WebModuleName/
如果在预部署的应用程序上执行了 JSP 批处理编译器,那么 web.xml 文件在 Web 模块的 WEB-INF 目录中。