ここでは、Webアプリケーション内のアクティブなセッションの総数を追跡する簡単な「HttpSessionListener」の例を示します。セッションの作成と削除の動作を監視したままにしたい場合は、このリスナーを検討してください。
Javaソース
package com.mkyong; 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
<web-app ...> <listener> <listener-class>com.mkyong.SessionCounterListener</listener-class> </listener> </web-app>
どのように動作するのですか?
HttpSession session = request.getSession();//sessionCreated() is executed session.setAttribute("url", "mkyong.com"); session.invalidate(); //sessionDestroyed() is executed