Die spezifische Methode lautet wie folgt:
1. Java Code <!-Die Priorität ist die höchste->
request.getSession (). setMaxinactiveInterval (1800);/*Sec ist Einheit, 1800 = 60*30, dh 30 Minuten*///////////
2. web.xml <!-Die Priorität ist die niedrigste->
<Session-config> <!-Minuten in Einheiten-> <Session-Timeout> 30 </Session-Timeout> </Session-Config>
3.. Webserverharz, Tomcat,
<Session-config> <!-Minuten in Einheiten-> <Session-Timeout> 30 </Session-Timeout> <enable-url-rewriting> false </enable-url-rrewriting> </session-config>
Priorität: 1> 3> 2
Die Sitzung schlägt normalerweise nicht nach dem Neustart von Tomcat aus. Nach dem Schließen des Browsers fällt die Sitzung fehl.
Im Allgemeinen können auch einige Vorgänge erforderlich sein, nachdem die Sitzung fehlschlägt:
(1) Steuern Sie die Anzahl der Benutzer. Wenn die Sitzung fehlschlägt, wird die Anzahl der Benutzer im System um eins usw. reduziert und die Anzahl der Benutzer in einem bestimmten Bereich steuert, um die Leistung des Systems sicherzustellen.
(2) Steuern Sie einen Benutzer, um sich mehrmals anzumelden. Wenn die Sitzung gültig ist und sich derselbe Benutzer anmeldet, wird sie aufgefordert, sich angemeldet zu haben. Wenn die Sitzung abläuft, können Sie sich ohne Aufforderung anmelden.
Wie führen Sie also eine Reihe von Operationen aus, nachdem die Sitzung fehlgeschlagen ist?
Hier müssen Sie einen Hörer verwenden, dh wenn die Sitzung aus verschiedenen Gründen fehlschlägt, kann der Hörer zuhören und dann das im Hörer definierte Programm ausführen.
Die Hörerklasse lautet: httpSessionListener -Klasse mit zwei Methoden: sessionCreated 和sessionDestroyed
Sie können diese Klasse erben und dann separat implementieren.
Sessioncreated bezieht sich auf die Methode, die beim Erstellen der Sitzung ausgeführt wird
SessionDestroyed bezieht sich auf die Methode, die bei Ausfall der Sitzung ausgeführt wird
wie folgt:
öffentliche Klasse Onlinelistener implementiert httpSessionListener {public void sessioncreated (httpSessionEvent Ereignis) {httpSession SES = Event.GetSession (); String id = ses.getId ()+SES.GetCreationTime (); SummerConstant.usermap.put (id, boolean.true); // Benutzer} public void sessionDestroyed (httpSessionEvent Ereignis) {httpSession SES = Event.GetSession (); String id = ses.getId ()+SES.GetCreationTime (); synchronisiert (this) {summerConstant.usernum--; // Decrement nach Anzahl der Benutzer summerConstant.usermap.remove (ID); // Entfernen aus der Benutzergruppe ist die Benutzergruppe eine Karte}}}Erklären Sie diesen Hörer einfach in web.xml:
<Hörer> <Hörer-Klasse> com.demo.system.listener.onlinelistener </listener-classe> </listener>
Das obige ist eine einfache Methode, um die Sitzung zu verwenden, um die Anzahl der Benutzer anzuhören. Im tatsächlichen Prozess kann es viel komplizierter sein.
Beispielsweise müssen Sie die beiden Schnittstellen von ServletContextListener und httpSessionListener gleichzeitig implementieren und ihre Methoden usw. neu schreiben.
Das obige ist die vom Editor vorgelegte Javaweb -Sitzungszeiteinstellung für die Misserfolgszeiteinstellung von Javaweb. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!