我希望在部署时编译所有 .jsp 文件,而不是在首次访问时编译。任何人都知道如何以与网络服务器无关的方式(通过 web.xml 可能?)。如果没有办法通过项目配置来做到这一点,我想知道如何在 Weblogic 上做到这一点。
3 回答
您可以将服务器设置为在部署时预编译 JSP。请参阅WebLogic JSP 参考中的预编译 JSP 部分。从那里:
您可以将 WebLogic Server 配置为在部署或重新部署 Web 应用程序时或在 WebLogic Server 启动时预编译 JSP,方法是在 weblogic.xml 部署描述符的元素中将 precompile 参数设置为 true。为避免在每次服务器重新启动以及针对其他服务器时重新编译 JSP,请使用 weblogic.jspc 预编译它们并将它们放在 WEB-INF/classes 文件夹中并将它们存档在 .war 文件中。将源文件保存在与归档的 .war 文件不同的目录中将消除由于 JSP 依赖于类文件之一而导致错误的可能性。
有关 web.xml 部署描述符的更多信息,请参阅 组装和配置 Web 应用程序。
对于 weblogic,这里有两种方法(http://m-button.blogspot.com.es/2008/09/using-jsp-precompilation-in-weblogic.html)。我更喜欢在构建时这样做,因为它不会影响应用程序部署时间。
完成此操作的一种方法是将jsp_precompile
作为请求参数添加到所需的 jsp,如
http://localhost/myApp/desired_page.jsp?jsp_precompile=true
我个人并不提倡在请求中如此明显地发送这样的系统配置参数,因此您应该按照本教程中的说明在页面(或页面组)内进行