2011-02-28 4 views

답변

2

당신은 브라우저를하지에 격려 할 것이다 당신이 HTTP 헤더를 보낼 수 요청에 대한 HttpServletResponse (구현) 개체를 얻을 경우 전송 한 콘텐츠를 캐시하십시오.

HttpServletResponse response; // You'll need to initialize this properly 

response.setHeader("Cache-control", "no-cache, no-store"); 
response.setHeader("Pragma", "no-cache"); 
response.setHeader("Expires", "-1"); 

HttpServletResponseHttpServletResponseWrapper 설명서를 참조하십시오. HTTP의 캐시 제어 헤더를 읽어야 할 경우를 대비하여 check this out.

+0

위의 모든 행들이 필요하거나'setHeader()'중 하나가 충분합니까? – Alpine

+0

@Alpine 브라우저에 따라 다릅니다. 캐시 제어 헤더와 관련하여 방금 추가 한 링크를 참조하십시오. 이것들은 단지 예일뿐입니다. –

+0

R.Younce : 고맙습니다.하지만 여전히 문제가 있습니다. 로그인 후 뒤로 & 다음 전달 세션이 여전히 있습니다. – Prashant

10

캐시를 영구적으로 비활성화하려면.

// Set to expire far in the past. 
    response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT"); 

    // Set standard HTTP/1.1 no-cache headers. 
    response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); 

    // Set IE extended HTTP/1.1 no-cache headers (use addHeader). 
    response.addHeader("Cache-Control", "post-check=0, pre-check=0"); 

    // Set standard HTTP/1.0 no-cache header. 
    response.setHeader("Pragma", "no-cache"); 

클라이언트 캐시를 지우면 즉시 세션이 만료되지 않고 브라우저에서 세션 쿠키가 지워집니다. 세션이 즉시 만료되도록하려면 서버 측 JSP 또는 서블릿에 명시 적으로 지정해야합니다.

// use session invalidate 
session.invalidate(); 
[signout 후 이전 페이지에서 사용자를 제한한다.]의
관련 문제