Tomcat 看不到新创建的静态文件,正在服务器端缓存旧文件 [英] Tomcat can't see newly created static files and is server-side caching the old files

查看:43
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆