2009-11-24 8 views
0

HttpSession session = request.getSession (true); 및 HttpSession session = request.getSession(); 존재하지 않는 경우 두 세션 모두 새 세션을 만듭니다.세션 문제

내 문제는 내가 그것을 invalidready() 세션을 allready 현재 누른 다음 새 만듭니다.

나는 그게 가능하다.이 말을 달성하기위한 어떤 방법이 있는가?

답변

6

어때?

HttpSession session = request.getSession(false); // Will not create a new session. 
if(session!=null) 
{ 
    session.invalidate(); 
} 
session = request.getSession(true); 
4

먼저

session.invalidate(); 

및 그

HttpSession session = request.getSession(true); 

작동 해달라고 그것을 다시 후 이전 세션 죽이기?

2

첫째는 session.invalidate(); 할 필요하면 다음 새 세션을 얻을 수 request.getSession();을 단지 수에 urlresponse.sendRedirect("url");을한다. 이 방법은 응답이 대부분의 경우에 간단하기 때문에, JSP 파일에서 작동하지 않을 것을

이미 (컨테이너가 응답 헤더의 jsessionid 쿠키의 새로운 값을 설정할 수 있도록) 최선을 다하고 있습니다. 서블릿이나 필터에서이 작업을 수행해야합니다.

그런데 왜 정확히 세션을 무효화하고 즉시 동일한 요청에서 새 세션을 가져오고 싶습니까? 이것은 더 나은 해결책이있을 수있는 특정 문제에 대한 해결 방법처럼 들립니다.