我使用的登录页面不是框架,但是一旦我登录所有页面都在framset中,当我尝试注销(the logout link is there in the frame)
时,只重新加载该特定框架并且登录页面到达帧。但我希望显示登录页面,不显示任何页面。
我删除这样的会话值,但是当我刷新页面时,所有的valuse都在框架中的页面中。
public void sessionRemove(HttpServletRequest request,HttpServletResponse response){
request.getSession(true).removeAttribute("userDetails");
/**
* Remove the Session Object.
*/
Enumeration enumSessionObj = request.getSession(false).getAttributeNames();
while(enumSessionObj.hasMoreElements()){
String enumObj = enumSessionObj.nextElement().toString();
request.getSession(false).removeAttribute(enumObj);
}
/**
* Remove the Cookies.
*/
Cookie[] cookies = request.getCookies();
for (int i = 0; i < cookies.length; i++) {
Cookie delCookie = cookies[i];
delCookie.setMaxAge(0);
}
}
如何做到这一点,
请帮忙
答案 0 :(得分:1)
你能试试吗?:
request.getSession().invalidate();
你可以在其中一个帧中打印时间吗?我认为你的问题可能与缓存有关。
如果会话无效,您可以执行许多操作。防爆。将用户转到另一个页面。或者使用javascript刷新你的框架。
window.parent.MY_FRAME_NAME.location.reload();
祝你好运;