특정 방법은 다음과 같습니다.
1. Java Code <!-우선 순위는 최고입니다
request.getSession (). SetMaxInactiveInterval (1800);/*sec is Unit, 1800 = 60*30, 즉 30 분*/
2. Web.xml <!-우선 순위는 가장 낮은 것입니다
<Session-Config> <!-단위의 분-> <세션-타임 아웃> 30 </session-timeout> </session-config>
3. Web Server Resin.conf, Tomcat,
<Session-Config> <!-단위의 분-> <세션-타임 아웃> 30 </session-timeout> <enable-url-rewrient> false </enable-url-rewrient> </session-config>
우선 순위 : 1> 3> 2
Tomcat 재시작 후에는 일반적으로 세션이 실패하지 않습니다. 브라우저를 닫으면 세션이 실패합니다.
일반적인 시스템에서는 세션이 실패한 후 일부 작업이 필요할 수 있습니다.
(1) 사용자 수를 제어합니다. 세션이 실패하면 시스템의 사용자 수가 1 등으로 줄어들고 시스템의 성능을 보장하기 위해 특정 범위 내의 사용자 수를 제어합니다.
(2) 사용자를 여러 번 통제 할 수 있습니다. 세션이 유효하면 동일한 사용자가 로그인하면 로그인하라는 메시지가 표시됩니다. 세션이 만료되면 프롬프트없이 로그인 할 수 있습니다.
그렇다면 세션이 실패 후 일련의 작업을 어떻게 수행합니까?
여기서 청취자를 사용해야합니다. 즉, 세션이 여러 가지 이유로 실패하면 청취자는 청취자에 정의 된 프로그램을 실행할 수 있습니다.
청취자 클래스는 sessionCreated 和sessionDestroyed 같습니다. httpsessionListener 클래스, 두 가지 방법이 포함
이 클래스를 상속 한 다음 별도로 구현할 수 있습니다.
SessionCreated는 세션이 생성 될 때 실행 된 메소드를 나타냅니다.
SessionDestroyed는 세션이 실패하면 실행 된 메소드를 나타냅니다.
다음과 같이 :
공개 클래스 onlineListener는 httpsessionlistener {public void sessioncreated (httpssessionEvent event) {httpsession ses = event.getSession (); 문자열 id = ses.getId ()+ses.getCreationTime (); SummerConstant.usermap.put (id, boolean.true); // 사용자 추가} public void sessionDestroyed (httpssessionEvent event) {httpsession ses = event.getSession (); 문자열 id = ses.getId ()+ses.getCreationTime (); 동기화 (this) {SummerConstant.usernum--; // 사용자 수에 의한 감소 SummerConstant.usermap.remove (id); // 사용자 그룹에서 제거하고 사용자 그룹은 맵}}}입니다.Web.xml 에서이 리스너를 선언합니다.
<Leater> <Leater-Class> com.demo.system.listener.onlineListener </Leater-Class> </laiseer>
위는 세션을 사용하여 사용자 수를 듣는 간단한 방법입니다. 실제 과정에서는 이보다 훨씬 더 복잡 할 수 있습니다.
예를 들어 ServletContextListener 및 HttpsessionListener의 두 인터페이스를 동시에 구현하고 메소드를 다시 작성해야합니다.
위는 편집자가 귀하에게 소개 한 Javaweb 세션 실패 시간 설정 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!