JavaWeb Session 비활성화 시간 설정 방법

session 실효 시간 설정 방법은 다음과 같다.
1. 자바 코드

request.getSession().setMaxInactiveInterval(1800);/* ,1800= 60*30  30 */
2. 웹.xml 

<session-config>  <!-- -->
  <session-timeout>30</session-timeout>
</session-config>
3. 웹 서버resin.conf,tomcat,

<session-config>  <!-- -->
  <session-timeout>30</session-timeout>
  <enable-url-rewriting>false</enable-url-rewriting>
</session-config>
우선 순위: 1 > 3 > 2
세션은tomcat 리셋 후에도 일반적으로 효력을 잃지 않습니다. 브라우저를 닫으면 세션이 효력을 잃습니다.
일반 시스템에서는 session이 효력을 상실한 후에 몇 가지 조작을 해야 할 수도 있다.
(1) 사용자 수를 제어하고session이 효력을 잃으면 시스템의 사용자 수가 하나 줄어드는 등 사용자 수를 일정한 범위 내에서 제어하여 시스템의 성능을 확보한다.
(2) 한 사용자가 여러 번 로그인하는 것을 제어한다. 세션이 유효할 때 같은 사용자가 로그인하면 이미 로그인했다는 것을 알려주고, 세션이 효력을 잃으면 알림 없이 바로 로그인할 수 있다.
그러면 어떻게 세션이 효력을 잃은 후에 일련의 조작을 진행합니까?
여기에 감청기가 필요합니다. 즉, 세션이 여러 가지 이유로 효력을 잃으면 감청기가 감청할 수 있고 감청기에 정의된 프로그램을 실행하면 됩니다.
모니터 클래스: HttpSessionListener 클래스, 있습니다 sessionCreated sessionDestroyed 두 가지 방법
스스로 이 부류를 계승한 후에 각각 실현할 수 있다.
sessionCreated는 session을 만들 때 실행하는 방법을 말합니다.
sessionDestroyed는 session이 효력을 상실했을 때 실행하는 방법을 가리킨다
다음과 같습니다.

public class OnlineListener implements HttpSessionListener{   
   public void sessionCreated(HttpSessionEvent event) {   
      HttpSession ses = event.getSession();   
      String id=ses.getId()+ses.getCreationTime();   
      SummerConstant.UserMap.put(id, Boolean.TRUE);   //    
    }   
    public void sessionDestroyed(HttpSessionEvent event) {   
      HttpSession ses = event.getSession();   
      String id=ses.getId()+ses.getCreationTime();   
      synchronized (this) {   
        SummerConstant.USERNUM--;      //    
        SummerConstant.UserMap.remove(id); // , map   
     }   
    }   
 }
이 감청기를 웹에 넣으세요.xml에서 설명하면 됩니다.

<listener>   
  <listener-class>com.demo.system.listener.OnlineListener</listener-class>   
</listener>
위는session을 이용하여 사용자 수를 감청하는 간단한 방법으로 실제 과정에서 이것보다 훨씬 복잡할 수 있다.
예를 들어 Servlet Context Listener, Http Session Listener 두 인터페이스를 동시에 실현하고 그것들을 다시 쓰는 방법 등이다.
위에서 말한 것은 여러분이 소개해 드린 자바 웹 세션의 실효 시간 설정 방법입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 것이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기