Простой пример HttpSessionListener - счетчик активных сессий
Вот простой пример «HttpSessionListener» для отслеживания общего количества активных сеансов в веб-приложении. Если вы хотите следить за поведением создания и удаления вашего сеанса, рассмотрите этот слушатель.
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
Как это работает?
- Если создается новый сеанс, например, «request.getSession ();» будет выполняться sessionCreated () слушателя.
- Если сеанс уничтожен, например тайм-аут сеанса или session.invalidate (), будет выполнен sessionDestroyed () слушателя.
HttpSession session = request.getSession(); //sessionCreated() is executed session.setAttribute("url", "example.com"); session.invalidate(); //sessionDestroyed() is executed