2017-08-02 29 views
0

我需要在注销后停止用户向后重定向。我尝试使用以下方法停止向后重定向:如何在JSP中调用注销后停止向后重定向?

1)使用servlet将标头cache-control更改为no-cache,no-store。 但它只有在使用servlet重定向到页面时才起作用。

2)然后我用一个Servlet过滤器,以执行相同任务

doFilter(){ 
    HttpServletResponse httpResponse = (HttpServletResponse) response; 
    httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
    httpResponse.setHeader("Pragma", "no-cache"); 
    httpResponse.setDateHeader("Expires", 0); 
} 

3)使用meta标签来清除缓存

<meta http-equiv="cache-control" content="max-age=0" /> 
<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="expires" content="0" /> 
<meta http-equiv="pragma" content="no-cache" /> 

当我落后重定向到一个正常的页面一样index,我仍然可以在标题(用户名,购物车等)中看到登录详细信息。

最后,我尝试在开发人员工具中禁用缓存,它工作。这不切实际。

如何停止向后重定向(如在Facebook中)?

谢谢。

+0

*“当我向后重定向至指数正常的页面,我还是CA看到头(用户名,购物车等登录信息.. )“*你的意思是你将这些东西存储在cookie中而不是服务器端会话中?然后停止这样做。 – developerwjk

回答

-1

设置使用response.setHeader()的缓存控制方法

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
response.setHeader("Pragma", "no-cache"); 
response.setHeader("Expires", "0");