Spring MVC:设置静态文件到期

时间:2014-12-03 02:45:18

标签: spring spring-mvc

如何在spring web application中设置js,css,image file expiration。我试过<mvc:resources mapping="/resources/**" location="/resources/" cache-period="31556926"/>

但它仍然从浏览器发送请求,服务器正在响应304表示如果我没有错,它不会使用浏览器缓存。并且最后它也向服务器发送HTTP请求,因此我认为这没有任何用处。

我错过了什么或者还有其他的东西吗?响应标题

Cache-Control:max-age=31556926, must-revalidate
Date:Wed, 03 Dec 2014 03:17:24 GMT
Expires:Thu, 03 Dec 2015 09:06:11 GMT
Pragma:no-cache
Server:Apache-Coyote/1.1
X-XSS-Protection:1; mode=block

1 个答案:

答案 0 :(得分:0)

您可以尝试编写简单的过滤器类来设置标题: -

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        chain.doFilter(request, response);
         HttpServletResponse res =
              (HttpServletResponse) response;

           String headerName="Cache-Control";
           res.addHeader(headerName,"max-age=31556926");
    }