5

我在 Windows XP 上使用 Tomcat 7。

  • 我有一个包含静态文件(HTML、CSS、JS)的目录%TOMCATDIR%/webapps/myapplication
  • 他们可以通过localhost:8080/myapplication

当我的服务器目录中的文件发生更改时,它不会反映:

  • 修改后的文件返回(200 OK)与以前相同(用 Fiddler 测试;肯定不是浏览器缓存问题 - 清除缓存,使用不同的浏览器等)
  • 该目录中新创建的文件不可访问 (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>

怎么了?

4

3 回答 3

3

解决方案似乎是 remove antiResourceLocking="true"

如果有人对该主题更了解,或者知道如何以其他方式解决它,我将不胜感激。

于 2012-07-04T17:44:02.157 回答
0

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

上下文.xml

     <Resources cachingAllowed="false"/>
于 2015-06-25T18:38:38.347 回答
0

最后的解决方案是替换 %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>
于 2018-04-19T18:11:04.350 回答