Un exemple simple HttpSessionListener - compteur de sessions actives
Voici un exemple simple "HttpSessionListener" pour suivre le nombre total de sessions actives dans une application Web. Si vous souhaitez continuer à surveiller le comportement de création et de suppression de votre session, pensez à cet écouteur.
Source Java
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
Comment ça marche?
- Si une nouvelle session est créée, par exemple «request.getSession ();» , la sessionCreated () de l’auditeur sera exécutée.
- Si une session est détruite, par exemple le délai d’expiration de la session ou «session.invalidate ()», la sessionDestroyed () de l’auditeur sera exécutée.
HttpSession session = request.getSession(); //sessionCreated() is executed
session.setAttribute("url", "example.com");
session.invalidate(); //sessionDestroyed() is executed