2011-08-02 2 views
0

현재 MySessionData라는 세션 범위 개체가 있습니다. 로그 아웃 할 때 원래 난 그냥이 문제는 지금 우리가 여러 세션 개체를 범위 만 정말 로그 아웃하면 (MySessionData)를 클리어 할 것을 ONY을 필요가Guice 서블릿에서 세션 범위 개체 지우기

getThreadLocalRequest().getSession().invalidate(); 

입니다했다. Guice에서 단일 세션 범위 개체를 지우는 방법에 대해 알고있는 사람이 있습니까? 이 전통적인 세션 개체를 사용하는 경우 세션 맵에서 키 값 쌍을 null로 설정하면됩니다.

답변

1

나는 보통 guice 세션 객체를 홀더로 사용합니다. 이와 같이 MySessionData를 구현하면 보유 된 모든 객체를 제거하거나 지우려면 clear() 메서드를 정의하기 만하면됩니다.

충분하지 않은 경우에도 세션을 무효화 할 수 있습니다. 이 무효화를 위해 Session에 대한 참조를 유지해야하는 경우 ThreadLocal 변수를 사용하고 ServletFilter를 사용하여 설정할 수 있습니다.