如何设置 Tomcat 8 以在页面命中时为开发服务器重新编译 JSP

dev*_*wjk 2 tomcat tomcat7

我有一个在 Tomcat 6 上的开发服务器。我刚刚安装了 Tomcat 8,并注意到它不再在页面点击时重新编译 JSP。我必须在 server.xml 中更改什么才能让它在页面点击时重新编译它们?

注意:有人指出我http://tomcat.apache.org/tomcat-8.0-doc/config/loader.html但我认为这不能回答这个问题,因为我不关心在下面重新加载 jars 或类文件/WEB-INF/classes/或者/WEB-INF/lib,只是重新编译 JSP。

如果由于某种原因这不能在 Tomcat 8 中完成,它可以在 Tomcat 7 中完成吗?

Fed*_*rra 5

Tomcat 8 和 7 使用 Jasper 2 JSP 引擎。此版本中进行的更改之一是:

后台 JSP 编译
如果您对已经编译的 JSP 页面进行更改,Jasper 2 可以在后台重新编译该页面。先前编译的 JSP 页面仍可用于处理请求。成功编译新页面后,它将替换旧页面。这有助于提高生产服务器上 JSP 页面的可用性。

要控制此行为,您可以使用以下参数(在 中$CATALINA_BASE/conf/web.xml):

checkInterval - 如果 development 为 false 且 checkInterval 大于零,则启用后台编译。checkInterval 是检查是否需要重新编译 JSP 页面(及其相关文件)的时间(以秒为单位)。默认 0 秒。

development - Jasper 是否用于开发模式?如果为 true,则检查 JSP 是否修改的频率可以通过 modifyTestInterval 参数指定。true 或false, default true

查看更多:Jasper 2 JSP 引擎操作方法