使用JSP的类文件而不是JSP本身运送WAR是否更好?

时间:2012-05-01 16:08:29

标签: java jsp java-ee deployment architecture

如果我们可以使用ANT任务使Tomcat / Jasper编译JSP,那么使用预编译的JSP作为类文件而不是JSP本身来运送WAR会不会更好?

这样,我们就不会受到Weblogic / Webshere JSP编译问题的束缚。他们得到的只是“课堂”文件。

我认为这需要以某种方式关闭“jsp”servlet。并且Spring / Struts Servlet必须能够处理'jsp'扩展。

你怎么看?在其他生产环境中,最常见的事情是什么?

3 个答案:

答案 0 :(得分:2)

JSP的编译具有以下优点。

  • 您确定它可以编译,即在运行时没有意外。
  • 当用户第一次到达JSP时,可以节省一些时间。

我认为第一个优势很重要,第二个优势并不那么重要。我个人并不关心第一个也是唯一的第一个用户是否会在编译jsp时再等一两秒。但我非常关心现在用户在使用我的应用程序时永远不会出现编译错误。

我认为在构建期间编译JSP只是为了验证而不是在应用程序中打包生成的.class文件。但是分发.class文件也很好。

答案 1 :(得分:1)

我一般会说不,不是更好。我认为通过这件事太麻烦了,然后只是包装耳朵/战争和运输。

如果您的JSP不是在生产中编译,并且是在本地或QA编译,那么您还有其他问题需要解决。

答案 2 :(得分:1)

编译的JSP不能跨容器移植。它们扩展了运行时特定类。您总是可以尝试嵌入自己的JSP实现,但这是一个不同的问题。