如何解决 Tomcat 不能自动刷新静态页面的问题

一次笔者需要部署一个Tomcat环境,展示一些静态页面的内容。通过Tomcat的Web Application Manager添加了指向静态页面所在路径的Application,用浏览器查看页面,页面内容正常展现,非常顺利。

但在后续对静态页面进行修改更新后,通过浏览器再次查看,页面仍是旧的内容。笔者也怀疑是不是因为浏览器缓存引起这个问题,但清空浏览器、换用其他浏览器,都只能看到旧的页面内容。

那么就应该是服务端的问题了。笔者在服务端重启了Tomcat服务,在Tomcat的Web Application Manager中Stop/Start这个Application,都没有效果,甚至把静态页面文件从磁盘删除,并重启Tomcat服务,仍能在浏览器中看到旧的页面内容!简直无语了!

最后在网上反复搜索,总算找到一个方法。

首先在Tomcat的Web Application Manager中删除这个静态页面的Application。

然后编辑 [apache-tomcat]/conf/server.xml 文件,[apache-tomcat]表示tomcat的安装路径。

在这个文件的最后,有一个 Host 节点:

<Host>
<!-- 这里有一些内容 -->

</Host>

在这个节点中,添加一行内容:

<Host>

<!-- 添加下面这行内容 -->
<Context />
</Host>

重启Tomecat后,再次更新静态页面,页面内容正确展现。

添加的 Context 节点,表示一个新的虚拟路径,path 为路径名称,需添加到url中访问这个虚拟路径,例如:http://localhost/staticpage,docBase 为磁盘上的路径名称,即实际页面文件放在磁盘的哪个路径下,reloadable 表示页面文件被修改后,网站是否自动更新页面内容,测试环境设为 true 方便开发测试,生产环境就要设为 false 以提升性能。

大功告成!

标签:Tomcat 发布于:2019-10-30 07:20:30