Un exemple simple de HttpSessionListener - compteur de sessions actives

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