由于JSP遵循标准API,我可以在项目中预编译它们,然后将结果部署到任何服务器上吗?
具体来说,我正在使用Tomcat,JBoss和WebSphere。
答案 0 :(得分:4)
不,不是真的。如果你看一下JSP编译器创建的java源代码,你会发现它扩展了一个专有的容器基类。例如,JBoss 4的servlet容器生成扩展org.apache.jasper.runtime.HttpJspBase
的JSP类,这些类是Tomcat和JBossWeb特有的。
因此,可能能够在不同的基于tomcat的服务器之间重用预编译的JSP,但即便如此,它也可能不起作用。
答案 1 :(得分:1)
由于applet服务器之间的servlet / JSP引擎不同,因此可能会添加不可移植的字节代码。
我必须写一个测试来确认它。如果我有时间,我会尝试使用Tomcat和WebLogic并报告回来。