2017-03-15 65 views
0

我试图把静态资源放在浏览器缓存中,在研究我了解了有关ExpiresFilter,所以我配置它像下面的部署描述符。如何使静态资源缓存在浏览器tomcat7

<filter> 
    <filter-name>ExpiresFilter</filter-name> 
    <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class> 
    <init-param> 
     <param-name>ExpiresByType image</param-name> 
     <param-value>access plus 2 weeks</param-value> 
    </init-param> 
    <init-param> 
     <param-name>ExpiresByType text/css</param-name> 
     <param-value>access plus 2 weeks</param-value> 
    </init-param> 
    <init-param> 
     <param-name>ExpiresByType application/javascript</param-name> 
     <param-value>access plus 2 weeks</param-value> 
    </init-param> 
</filter> 

    <filter-mapping> 
    <filter-name>ExpiresFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
</filter-mapping> 

但是,当我看到任何静态资源说main.css的响应头就像下面

Accept-Ranges:bytes 
Cache-Control:no-cache, no-store, max-age=0, must-revalidate 
Content-Length:47146 
Content-Type:text/css 
Date:Wed, 15 Mar 2017 10:34:09 GMT 
ETag:W/"47146-1489142922357" 
Expires:0 
Last-Modified:Fri, 10 Mar 2017 10:48:42 GMT 
Pragma:no-cache 
Server:Apache-Coyote/1.1 
X-Content-Type-Options:nosniff 
X-Frame-Options:DENY 
X-XSS-Protection:1; mode=block 

所以它不保存到浏览器cache.What可能是什么原因?

+0

如果你想要更多的细节告诉我,我会发布 – Kasyap

回答

0

发生这种情况是因为我在我的应用程序中使用了spring security,所以它重写了响应头文件,所以在禁用它正在工作的spring安全性的缓存控制头之后。

相关问题