単純なHttpSessionListenerの例 – アクティブなセッションカウンタ
ここでは、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