Ein einfaches Beispiel für HttpSessionListener - Zähler für aktive Sitzungen
In diesem einfachen Beispiel für "HttpSessionListener" wird die Gesamtzahl der aktiven Sitzungen in einer Webanwendung protokolliert. Wenn Sie das Erstellungs- und Entfernungsverhalten Ihrer Sitzung weiterhin überwachen möchten, ziehen Sie diesen Listener in Betracht.
Java Source
package com.example;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionCounterListener implements HttpSessionListener {
private static int totalActiveSessions;
public static int getTotalActiveSession(){
return totalActiveSessions;
}
@Override
public void sessionCreated(HttpSessionEvent arg0) {
totalActiveSessions++;
System.out.println("sessionCreated - add one session into counter");
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
totalActiveSessions--;
System.out.println("sessionDestroyed - deduct one session from counter");
}
}
web.xml
com.example.SessionCounterListener
Wie es funktioniert?
- Wenn eine neue Sitzung erstellt wird, z. B. "request.getSession ();" wird die sessionCreated () des Listeners ausgeführt.
- Wenn eine Sitzung zerstört wird, z. B. das Timeout der Sitzung oder "session.invalidate ()", wird die sessionDestroyed () des Listeners ausgeführt.
HttpSession session = request.getSession(); //sessionCreated() is executed
session.setAttribute("url", "example.com");
session.invalidate(); //sessionDestroyed() is executed