Tomcat 看不到新创建的静态文件,正在服务器端缓存旧文件 [英] Tomcat can't see newly created static files and is server-side caching the old files
本文介绍了Tomcat 看不到新创建的静态文件,正在服务器端缓存旧文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 Windows XP 上使用 Tomcat 7.
I use Tomcat 7 on Windows XP.
- 我在
%TOMCATDIR%/webapps/myapplication
中有一个包含静态文件(HTML、CSS、JS)的目录. - 它们可以通过
localhost:8080/myapplication
访问
- I have a directory with static files (HTML, CSS, JS) in
%TOMCATDIR%/webapps/myapplication
. - They're accessible via
localhost:8080/myapplication
当我的服务器目录中的文件发生更改时,不会反映出来:
When a change happens to a file in my server dir, it is not reflected:
- 修改后的文件返回 (200 OK) 与之前相同 (使用 Fiddler 测试;确定不是浏览器缓存问题 - 清除缓存、使用不同浏览器等)、
- 无法访问该目录中新创建的文件 (404).
无论我尝试重新加载文件多少次,甚至向其中添加查询字符串(img.jpg?timestamp=...
)都会发生上述情况.
The above happens no matter how many times I try to reload the file, or even add query string to it (img.jpg?timestamp=...
).
在 %TOMCATDIR%/conf/context.xml
中,我设置了各种指令来禁用服务器端缓存:
In %TOMCATDIR%/conf/context.xml
I've set various directives to disable server-side caching:
<?xml version='1.0' encoding='utf-8'?>
<Context antiResourceLocking="true" cachingAllowed="false" cacheMaxSize="1" cacheTTL="1">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
怎么了?
推荐答案
解决方案好像是去掉antiResourceLocking="true"
.
如果有人更了解该主题,或者知道如何以其他方式解决该问题,我将不胜感激.
If anyone's more knowledgable about the topic, or know how to workaround it other way, I'll be grateful.
这篇关于Tomcat 看不到新创建的静态文件,正在服务器端缓存旧文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文