Empfohlenes kostenloses Lernen: Grundlegendes Java-Tutorial
Nach der Anmeldung bei einem allgemeinen System wird eine aktuelle Sitzungsablaufzeit festgelegt, um sicherzustellen, dass, wenn der Benutzer längere Zeit nicht mit dem Server interagiert, Der Benutzer meldet sich automatisch ab und zerstört die Sitzung
Es gibt drei spezifische Einstellungsmethoden:
1. Im Webcontainer festlegen (nehmen Sie Tomcat als Beispiel)
In tomcat-7.0confweb.xml festlegen Das Folgende ist die Standardkonfiguration in tomcat7.0:
<session-config> <session-timeout>30</session-timeout> </session-config>
Das standardmäßige Sitzungszeitlimit von Tomcat beträgt 30 Minuten und kann nach Bedarf geändert werden. Eine negative Zahl oder 0 bedeutet, dass es keine Begrenzung für die Sitzungsablaufzeit gibt.
Hier ist zu beachten, dass die Zeit festgelegt ist für diese Sitzung wird basierend auf dem Server berechnet, nicht basierend auf dem Client. Wenn Sie also das Programm debuggen, sollten Sie die serverseitige Zeit zum Testen ändern
2. Stellen Sie
<!--时间单位为分钟--> <session-config> <session-timeout>15</session-timeout> </session-config>
Drei Prioritätsstufen ein: 1 <
In einem allgemeinen System müssen Sie möglicherweise auch einige Vorgänge ausführen, nachdem die Sitzung fehlgeschlagen ist:1. Kontrollieren Sie die Anzahl der Benutzer. Wenn die Sitzung fehlschlägt, reduzieren Sie die Anzahl der Benutzer im System Bestimmter Bereich und Sicherstellung der Systemleistung
2. Steuern Sie einen Benutzer so, dass er sich mehrmals anmeldet. Wenn die Sitzung gültig ist und sich derselbe Benutzer anmeldet, wird er aufgefordert, sich anzumelden. Wenn die Sitzung abläuft, können unterschiedliche Aufforderungen erfolgen verwendet werden, melden Sie sich direkt anWie führt man also eine Reihe von Vorgängen aus, nachdem die Sitzung abgelaufen ist?
Hier müssen Sie einen Listener verwenden. Das heißt, wenn die Sitzung aus verschiedenen Gründen fehlschlägt, kann der Listener das im Listener definierte Programm abhören und dann ausführen. Die Listener-Klasse ist: HttpSessionListener-Klasse mit sessionCreated und sessionDestroyed
Sie kann diese Klasse erben und separat implementieren.
sessionCreated bezieht sich auf die Methode, die ausgeführt wird, wenn die Sitzung erstellt wird.
sessionDestroyed bezieht sich auf die Methode, die ausgeführt wird, wenn die Sitzung fehlschlägt.
Beispiel:
session.setMaxInactiveInterval(30*60);//以秒为单位,即在没有活动30分钟后,session将失效
public class OnlineUserListener implements HttpSessionListener{ public void sessionCreated(HttpSessionEvent event){ HttpSession session=event.getSession; String id=session.getId()+session.getCreationTime(); SummerConstant.UserMap.put(id,Boolean.TRUE);//添加用户 } public void sessionDestroyed(HttpSessionEvent event){ HttpSession session=event.getSession; String id=session.getId()+session.getCreationTime(); synchronized(this){ SummerConstant.USERNum--;//用户数减- SummerConstant.UserMap.remove(id);//从用户组中移除掉,用户组为一个map } } }
Java-Grundlagen
Das obige ist der detaillierte Inhalt vonBesprechen Sie im Detail die Zeit zum Festlegen des Sitzungs-Timeouts (Ablaufs) in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!