JavaWeb 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 두 인터페이스를 동시에 실현하고 그것들을 다시 쓰는 방법 등이다.
위에서 말한 것은 여러분이 소개해 드린 자바 웹 세션의 실효 시간 설정 방법입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 것이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.