インターフェイスを実装する必要がありHttpSessionListener
ます。セッションが作成または破棄されると、通知イベントを受け取ります。特に、そのメソッドsessionDestroyed(HttpSessionEvent se)
は、セッションが破棄されたときに呼び出されます。これは、タイムアウト期間が終了した後/セッションが無効になった後に発生します。呼び出しを介してセッションに保存されている情報を取得し、HttpSessionEvent#getSession()
後でセッションで必要な調整を行うことができます。また、必ずセッション リスナーを に登録してくださいweb.xml
。
<listener>
<listener-class>FQN of your sessin listener implementation</listener-class>
</listener>
最終的に無効化とセッション タイムアウトを区別したい場合は、リスナーで次の行を使用できます。
long now = new java.util.Date().getTime();
boolean timeout = (now - session.getLastAccessedTime()) >= ((long)session.getMaxInactiveInterval() * 1000L);