Ein einfaches HttpSessionListener-Beispiel - aktive Sitzungszähler

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