![如何设置 Tomcat 8 在开发服务器页面点击时重新编译 JSP](https://linux22.com/image/655645/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%20Tomcat%208%20%E5%9C%A8%E5%BC%80%E5%8F%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%A1%B5%E9%9D%A2%E7%82%B9%E5%87%BB%E6%97%B6%E9%87%8D%E6%96%B0%E7%BC%96%E8%AF%91%20JSP.png)
我有一个使用 Tomcat 6 的开发服务器。我刚刚安装了 Tomcat 8,发现它不再在页面点击时重新编译 JSP。我需要在 server.xml 中做哪些更改才能让它在页面点击时重新编译它们?
注:有人指出我http://tomcat.apache.org/tomcat-8.0-doc/config/loader.html但我不认为这回答了问题,因为我不关心在/WEB-INF/classes/
或下重新加载 jar 或类文件/WEB-INF/lib
,只是重新编译 JSP。
如果由于某种原因,这无法在 Tomcat 8 中实现,那么可以在 Tomcat 7 中实现吗?
答案1
Tomcat 8 和 7 使用 Jasper 2 JSP 引擎。此版本中的一项更改是:
后台 JSP 编译
如果您对已编译的 JSP 页面进行更改,Jasper 2 可以在后台重新编译该页面。之前编译的 JSP 页面仍可用于处理请求。新页面成功编译后,它将替换旧页面。这有助于提高生产服务器上 JSP 页面的可用性。
要控制此行为,您可以使用以下参数(在$CATALINA_BASE/conf/web.xml
):
检查间隔- 如果 development 为 false 并且 checkInterval 大于零,则启用后台编译。checkInterval 是检查 JSP 页面(及其依赖文件)是否需要重新编译的间隔时间(以秒为单位)。默认为 0 秒。
发展- Jasper 是否在开发模式下使用?如果为 true,则可以通过 modifiedTestInterval 参数指定检查 JSP 是否修改的频率。true 或
false
,默认值为true
。
查看更多:Jasper 2 JSP 引擎使用方法