Struts 프로젝트에서 사용자 세션 무효화/시간 초과를 감지하도록되어있는 javax.servlet.http.HttpSessionListener 구현이 있습니다.HttpSessionListener가 세션 시간 초과를 감지하지 못했습니다.
sessionDestroyed()가 호출 된 적이없는 것 같습니다. JSESSIONID를 삭제하고 페이지를 새로 고침하여이를 재현 할 수 있습니다. 또한 세션 시간이 초과 될 때까지 브라우저를 열어 두는 것도 동일한 효과가 있음을 발견했습니다.
사이트가 Java 1.5와 함께 JBoss 4.2.3.GA에서 실행 중입니다.
HttpSessionListener가 예상 한대로 작동하지 않는다고 생각하기 시작했습니다. 뭔가 빠졌습니까?
편집 : 다음과 같이
내 리스너가 내 web.xml 파일에 등록 : 웹 컨테이너가 세션을 만료 될 때까지
<listener>
<listener-class>com.domain.web.listener.LogoutListener</listener-class>
</listener>
web.xml에 리스너를 구성 했습니까? –
@Suresh 네, 리스너가 web.xml에 구성되어 있습니다. – seanhodges
Tomcat 및 Java 1.7에서 동일한 문제가 발생했습니다. 브라우저를 연 세션 시간 초과 후 'sessionDestroyed'가 항상 호출되는 것은 아닙니다. – Andremoniy