-->

Tomcat的不能看到新创建的静态文件,是服务器端缓存的旧文件(Tomcat can't s

2019-06-26 00:50发布

我使用Tomcat 7的Windows XP。

  • 我有一个静态文件(HTML,CSS,JS)目录%TOMCATDIR%/webapps/myapplication
  • 他们通过访问是localhost:8080/myapplication

当一个变化发生在我的服务器目录文件, 它不反映:

  • 修改后的文件返回(200 OK)与先前(测试与小提琴手,肯定不是一个浏览器缓存的问题-已清空缓存,使用不同的浏览器等),
  • 在该目录新创建的文件无法访问(404)。

上述情况不管我多少次重新加载该文件,甚至可以查询字符串添加到它( img.jpg?timestamp=... )。

%TOMCATDIR%/conf/context.xml我已经设置各种指令禁用服务器端缓存:

<?xml version='1.0' encoding='utf-8'?>
<Context antiResourceLocking="true" cachingAllowed="false" cacheMaxSize="1" cacheTTL="1">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

怎么了?

Answer 1:

该解决方案似乎是去除antiResourceLocking="true"

如果任何人都更见地的话题,或不知道如何要解决它其他的方式,我会很感激。



Answer 2:

Tomcat的8 - 静态资源的禁用缓存:

的context.xml

     <Resources cachingAllowed="false"/>


Answer 3:

最后的解决办法是内更换%TOMCATDIR%/ conf / context.xml文件文件内容:

<?xml version='1.0' encoding='utf-8'?>
<Context cachingAllowed="false" cacheMaxSize="1" cacheTTL="1">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>


文章来源: Tomcat can't see newly created static files and is server-side caching the old files