Heim > Java > javaLernprogramm > Einstellungsmethode für die Ablaufzeit der JavaWeb-Sitzung

Einstellungsmethode für die Ablaufzeit der JavaWeb-Sitzung

高洛峰
Freigeben: 2017-01-21 16:29:15
Original
1782 Leute haben es durchsucht

Methode zum Festlegen der Sitzungsablaufzeit, die spezifische Methode ist wie folgt:

1. Java-Code

request.getSession().setMaxInactiveInterval(1800);/*秒为单位,1800= 60*30 即30分种*/
Nach dem Login kopieren

2. web.xml

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
</session-config>
Nach dem Login kopieren

3. Webserver resin.conf,

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
  <enable-url-rewriting>false</enable-url-rewriting>
</session-config>
Nach dem Login kopieren

Priorität: 1 > 3 > 2

Sitzung wird nach dem Schließen des Browsers nicht ungültig

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 Das System wird um eins reduziert usw. Kontrollieren Sie die Anzahl der Benutzer innerhalb eines bestimmten Bereichs, um die Systemleistung sicherzustellen.

(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, werden Sie benachrichtigt Sie können sich ohne Aufforderung direkt anmelden.

Wie führt man also eine Reihe von Vorgängen aus, nachdem die Sitzung abgelaufen ist?

Hier müssen Sie einen Listener verwenden. Wenn die Sitzung aus verschiedenen Gründen fehlschlägt, kann der Listener sie abhören und dann das im Listener definierte Programm ausführen.

Die Listener-Klasse ist: HttpSessionListener-Klasse, die über zwei Methoden verfügt: sessionCreated und sessionDestroyed

Sie können diese Klasse erben bzw. 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.

wie folgt:

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  
     }  
    }  
 }
Nach dem Login kopieren

Deklarieren Sie einfach diesen Listener in web.xml:

<listener>  
  <listener-class>com.demo.system.listener.OnlineListener</listener-class>  
</listener>
Nach dem Login kopieren

Das Obige ist eine einfache Methode, um die Sitzung mithilfe der Sitzung zu überwachen Bei den Benutzern kann der eigentliche Prozess viel komplizierter sein.

Zum Beispiel müssen Sie die beiden Schnittstellen ServletContextListener und HttpSessionListener gleichzeitig implementieren, ihre Methoden neu schreiben usw.

Das Obige ist die vom Herausgeber eingeführte Methode zum Festlegen der Ablaufzeit der JavaWeb-Sitzung. Ich hoffe, dass sie Ihnen hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten . Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere Artikel zu den Methoden zum Festlegen der Ablaufzeit von JavaWeb-Sitzungen finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage