Jsp编译没有与jboss一起使用

时间:2011-04-26 06:08:01

标签: java jsp jboss compilation

可以在应用程序部署期间或jboss启动期间编译jsp吗?通常jsp是动态编译的,但如果编译是在...之前完成的话会很方便。

我读过它是不可能预编译jsp机智jee6 ...这就是为什么库不提供jboss 6.还有另一种方法吗?

提前致谢!

3 个答案:

答案 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。您可以在以下位置详细了解这些参数:

https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.1/html/Administration_and_Configuration_Guide/chap-Web_Subsystem.html

此致 贡萨洛