2011-03-11 1 views
3

모든 사용자가 데이터를보기 위해 로그인해야하는 스프링 3.0 기반 웹 애플리케이션을 개발 중입니다. 일단 로그인하면 화면의 특정 부분이 AJAX 폴링 메커니즘을 사용하여 백그라운드에서 화면 내용을 업데이트합니다. 현재 서버에 대한 각 Ajax 요청이 웹 응용 프로그램의 시간 초과를 업데이트하고 세션이 절대로 시간 초과되지 않기 때문에 세션이 시간 초과되지 않습니다.스프링 웹 애플리케이션에서 Ajax 폴링을 사용하는 세션 타임 아웃

사용자가 로그인하면 컨트롤러가 데이터 폴링에 응답하지만 세션 시간 초과를 업데이트하지 않도록 세션을 예약 된 시간에 제한하도록 응용 프로그램을 수정해야합니다. 사용자가 활성 세션이없는 경우 컨트롤러는 아무 것도 반환하지 않습니다.

어떻게해야합니까?

+0

어떻게 처리했는지 알려 주실 수 있습니까? – user1707141

답변

-1

서블릿 컨테이너의 내부에서 주위를 둘러 봐야 할 것입니다. 여기

내가 "XHR XMLHttpRequest의 서블릿 컨테이너 세션 액세스를위한"

  • 구글 검색을하고 흥미로운 아무것도가 온다면 무엇으로
  • (지금이 권리를 할 너무 게으른 해요) 볼 것이다 무엇 당신이 사용하고있는 서블릿 엔딘을 로컬로 내려 가서 세션 구현을 살펴보십시오. 특히, javax.servlet.http.HttpSession.getLastAccessedTime에 의해 리턴 된 값을 설정하는 것이 무엇인지 알아 내려고합니다. 이것을 발견하면 거꾸로 작업하여이를 사용자 정의 할 수있는 방법을 찾으십시오. Tomcat에서 내부 클래스를 확장하고 사용자 정의 클래스를 XML 설정 파일에 설정하여이 작업을 수행 할 수 있다고 확신합니다.
0

ajax 데이터를 제공하는 페이지의 경우 < % @ page session = "false"%>를 사용하는 방법은 어떻습니까? 이러한 페이지는 세션에 연결되지 않으므로 세션 시간 초과가 업데이트되지 않을 수 있습니다.