预编译JSP:该服务器是否特定?

时间:2010-07-27 09:48:39

标签: java jsp platform-agnostic precompiling

由于JSP遵循标准API,我可以在项目中预编译它们,然后将结果部署到任何服务器上吗?

具体来说,我正在使用Tomcat,JBoss和WebSphere。

2 个答案:

答案 0 :(得分:4)

不,不是真的。如果你看一下JSP编译器创建的java源代码,你会发现它扩展了一个专有的容器基类。例如,JBoss 4的servlet容器生成扩展org.apache.jasper.runtime.HttpJspBase的JSP类,这些类是Tomcat和JBossWeb特有的。

因此,可能能够在不同的基于tomcat的服务器之间重用预编译的JSP,但即便如此,它也可能不起作用。

答案 1 :(得分:1)

由于applet服务器之间的servlet / JSP引擎不同,因此可能会添加不可移植的字节代码。

我必须写一个测试来确认它。如果我有时间,我会尝试使用Tomcat和WebLogic并报告回来。