可以在应用程序部署期间或jboss启动期间编译jsp吗?通常jsp是动态编译的,但如果编译是在...之前完成的话会很方便。
我读过它是不可能预编译jsp机智jee6 ...这就是为什么库不提供jboss 6.还有另一种方法吗?
提前致谢!
答案 0 :(得分:6)
您需要修改$ server / deploy / jbossweb.sar / web.xml并让jsp servlet包含正检查值
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>checkInterval</param-name>
<param-value>1</param-value>
</init-param>
请参阅标记上方的文档:
<!-- checkInterval If development is false and checkInterval is -->
<!-- greater than zero, background compilations are -->
<!-- enabled. checkInterval is the time in seconds -->
<!-- between checks to see if a JSP page needs to -->
<!-- be recompiled. [0] -->
<!-- -->
<!-- modificationTestInterval -->
<!-- Causes a JSP (and its dependent files) to not -->
<!-- be checked for modification during the -->
<!-- specified time interval (in seconds) from the -->
<!-- last time the JSP was checked for -->
<!-- modification. A value of 0 will cause the JSP -->
<!-- to be checked on every access. -->
<!-- Used in development mode only. [4] -->
答案 1 :(得分:2)
我在开发环境中遇到了类似的问题。感谢Heiko的回答,我通过在web.xml中设置开发和modifyTestInterval来尝试另一个选项。
<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>modificationTestInterval</param-name>
<param-value>0</param-value>
</init-param>
现在我可以在'$ JBOSS_HOME \ server \ default \ tmp \%random_crap%\ war-1.0.war \ WEB-INF \ jsp'中修改JSP,并重新编译它而不重新启动JBOSS。
另外要注意这在JBoss 4.3中不是必需的,因此对于从4.3升级到5.2的开发人员,请注意这一额外步骤。
答案 2 :(得分:0)
默认情况下,像EAP 6这样的JBoss的最新版本预先编译了所有JSP并使用该编译版本,直到完全重新部署该应用程序。
您可以使用“Keep-Generated”和“Check-Interval”参数来修改该行为,以便JBoss在更新时重新编译JSP。您可以在以下位置详细了解这些参数:
此致 贡萨洛