2014-12-03 5 views
1

어떻게 application.I이 <mvc:resources mapping="/resources/**" location="/resources/" cache-period="31556926"/>스프링 MVC : 설정 정적 파일 만료

을 시도했지만 여전히 브라우저에서 요청을 보내고 서버가 304로 응답하는 것은 그것을 의미하지 않습니다 스프링 웹에서 JS, CSS, 이미지 파일 만료를 설정할 수 있습니다 내가 잘못하지 않으면 브라우저 캐시를 사용합니다. 또한 결국 그것은 서버에 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 
+0

당신이 제대로 설정되어 있는지 확인하는 응답 헤더를 확인해 봤어? –

+0

플러그인은 분명히 그것을 존중하는 모든 브라우저에서 도움이되지 않습니다. 그리고 다른 것이 헤더를 수정하고 있음을 나타냅니다. 적절한 인터셉터를 사용하여 스프링에서 헤더를 직접 제어하는 ​​방법을 살펴 보겠습니다. http://stackoverflow.com/questions/1362930/how-do-you-set-cache-headers-in-spring-mvc –

+0

'mvc : resources'에서'cache-period'를 설정하는 것과 같습니다 – manish

답변

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"); 
    }