我有一个在Tomcat 6上的开发服务器。我刚刚安装了Tomcat 8,并注意到它不再重新编译页面命中的JSP。 我必须在server.xml中更改它以重新编译页面命中?
注意:有人指出我http://tomcat.apache.org/tomcat-8.0-doc/config/loader.html,但我不认为这回答这个问题,因为我不关心重新加载jar子或类文件/WEB-INF/classes/或/WEB-INF/lib ,只是重新编译JSP。
如果由于某种原因,这不能在Tomcat 8中完成,可以在Tomcat 7中完成吗?
Tomcat 8和7使用Jasper 2 JSP引擎。 其中一个变化是在这个版本中做的是:
后台JSP编译
如果您对已经编译好的JSP页面进行了更改,Jasper 2可以在后台重新编译该页面。 以前编译的JSP页面仍然可用于处理请求。 新页面编译成功后,将replace旧页面。 这有助于提高生产服务器上JSP页面的可用性。
要控制这个行为,你可以使用下面的参数(在$CATALINA_BASE/conf/web.xml ):
checkInterval – 如果开发是false且checkInterval大于零,则启用后台编译。 checkInterval是检查JSP页面(及其相关文件)是否需要重新编译的时间(以秒为单位)。 默认0秒。
开发 – 贾斯珀在开发模式中使用? 如果为true,则可以通过修改testing间接参数来指定检查JSP的频率.true或
false,默认为true。
查看更多: Jasper 2 JSP Engine如何