为什么我的 JSP 更改在不重新启动 Tomcat 的情况下不会反映出来?

2024-03-14

我正在编辑直接驻留在其中的 JSP 文件tomcat/webapps/myapp/WEB-INF,但要看到更改,我必须重新启动服务器。据我所知,JSP 更改不需要您重新启动服务器。我发现的唯一与自动重新加载相关的配置是可重新加载=“真” http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

如果您希望 Catalina 这样做,则设置为 true 监控 /WEB-INF/classes/ 中的类 和 /WEB-INF/lib 进行更改,以及 自动重新加载网页 如果检测到更改,则应用程序。

我在中使用了这个属性context.xml,但问题仍然存在。在不重新启动的情况下无法检测到 JSP 文件中的更改的其他可能原因是什么?

@Bozho:这是摘录自web.xml。我需要改变什么吗?

 <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>

在 tomcat 文档中 http://tomcat.apache.org/tomcat-6.0-doc/jasper-howto.html,参见development环境。必须将其设置为 true 才能重新加载 jsps。

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

这是在你的CATALINA_HOME/conf/web.xml

另外,如果您需要在生产环境中刷新jsp而不需要重启,可以访问CATALINA_HOME/work/Catalina/localhost/contentName/org/apache/jsp并删除your_jsp.java and your_jsp.class文件。它们将在下次访问时重新创建。

编辑:在提供您的配置并评论不刷新内容后,我还有另一个:清除浏览器缓存,或从另一个浏览器打开页面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 JSP 更改在不重新启动 Tomcat 的情况下不会反映出来? 的相关文章

随机推荐