【发布时间】:2011-03-21 12:28:51
【问题描述】:
由于 JSP 遵循标准 API,我可以在我的项目中预编译它们,然后将结果部署到任何服务器上吗?
具体来说,我使用的是 Tomcat、JBoss 和 WebSphere。
【问题讨论】:
标签: java jsp platform-agnostic precompiling
由于 JSP 遵循标准 API,我可以在我的项目中预编译它们,然后将结果部署到任何服务器上吗?
具体来说,我使用的是 Tomcat、JBoss 和 WebSphere。
【问题讨论】:
标签: java jsp platform-agnostic precompiling
由于应用服务器之间的 servlet/JSP 引擎不同,因此可能会添加不可移植的字节码。
我必须写一个测试来确认它。如果我有时间,我会尝试使用 Tomcat 和 WebLogic 并报告。
【讨论】:
不,不是真的。如果您查看由 JSP 编译器创建的 java 源代码,您会发现它扩展了容器专有的基类。例如,JBoss 4 的 servlet 容器生成扩展 org.apache.jasper.runtime.HttpJspBase 的 JSP 类,这是 Tomcat 和 JBossWeb 特有的。
因此您可能能够在不同的基于 tomcat 的服务器之间重用预编译的 JSP,但即便如此它也可能无法工作。
【讨论】: