如何防止tomcatcaching? 我有css和基本的html文件,我加载和通过ajax使用,除非我重新启动tomcat,这些变化似乎并没有反映。 不同的机器,不同的浏览器,我没有收到更新的文件。
思考?
更改cachingAllowed标志后,可能必须删除/ work / Catalina / localhost中的应用程序caching文件夹。
configuration可以在server.xml中引入
<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="false" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" reloadable="false" wrapperClass="org.apache.catalina.core.StandardWrapper"> </Context>
我在Tomcat 7中遇到了这个问题,原因是我将antiResourceLocking设置为true(这听起来像个好主意……)。
根据文档( http://tomcat.apache.org/tomcat-7.0-doc/config/context.html ):
请注意,将其设置为true会产生一些副作用,包括在正在运行的服务器中禁用JSP重新加载:请参阅Bugzilla 37668。
在我的情况下,它甚至导致简单的静态文本文件被caching。
所以,总而言之,至less对于快速发展,我不得不使用:
antiResourceLocking="false" cachingAllowed="false"
对于Tomcat 8 / Tomcat 9属性应该在conf / context.xml中添加如下
<Context> <Resources antiResourceLocking="false" cachingAllowed="false" /> ... </Context>
更改cachingAllowed
标志后,可能必须删除/ work / Catalina / localhost中的应用程序caching文件夹。 同时清除IntelliJ IDEA的caching(如果您使用它来运行Tomcat):
Mac:/ Users / {:user} / Library / Caches / IntelliJIdea {:version} / tomcat / Linux:/home/{:user}/.IntelliJIdea{:version}/system/tomcat/ Windows:C:\ Users \ {:user} \。IntelliJIdea {:version} \ system \ tomcat \
你有没有检查这个url:
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
cacheMaxSize – 静态资源caching的最大大小(以千字节为单位)。 如果未指定,则默认值为10240(10兆字节)。
cacheTTL – 重新validationcaching条目之间的时间(以毫秒为单位)。 如果未指定,则默认值为5000(5秒)。
cachingAllowed – 如果此标志的值为true,则将使用静态资源的caching。 如果未指定,则标志的默认值为true。