【发布时间】:2013-08-18 19:47:09
【问题描述】:
会话失效后,是否可以通过request对象通过request.getSession()获取新的会话而不发起新的请求?
我的请求对象流到第 1 页到第 2 页和第 2 页到第 1 页再次第 1 页到第 2 页和再次相同的第 2 页到第 2 页 ....请求页面不能更改,但每次请求第 1 页到第二页我们需要获取会话的详细信息并使其无效并再次创建它.. 像这样
HttpSession session = request.getsession(false)
String user = (String)session.getAttribute("name");
session.invalidate();
session=request.getSession(true);
RequestDispacher dis = request.requestDispatcher("path");
dis.forword(request,respone);
但这不适用于第二次 它给出了空会话或详细信息
还尝试在即将到来的 cookie 中设置会话 ID 像这样
Cookie[] c = request.getCookies();
for(Cookie k: c){
if(k.getName().equalsIgnoreCase("JSESSIONID")){
System.out.println("k.getValue() : "+k.getValue());
System.out.println("httpSession.getId() : "+httpSession.getId());
k.setValue(httpSession.getId());
}
}
【问题讨论】:
-
如果需要,为什么要使会话无效?
-
出于安全目的
标签: session servlets invalidation