asp.netにはGlobal.asaxがあり、session_startメソッドがあり、新しいユーザーが最初にアクセスしたときに実行されます。それはjspで同様のものですか?
インターセプターを使用できるというアドバイスを受けましたが、インターセプターが session_start をキャプチャする方法についてはまだ混乱しています
asp.netにはGlobal.asaxがあり、session_startメソッドがあり、新しいユーザーが最初にアクセスしたときに実行されます。それはjspで同様のものですか?
インターセプターを使用できるというアドバイスを受けましたが、インターセプターが session_start をキャプチャする方法についてはまだ混乱しています
HttpSession ライフサイクルの変更に関する通知イベントを受信するためのインターフェースであるHttpSessionListenerを使用します。
そのsessionCreated(HttpSessionEvent)メソッドをオーバーライドします。サンプルコード:
public class SessionListener implements HttpSessionListener {
/**
* Receives notification that a session has been created.
*/
@Override
public void sessionCreated(HttpSessionEvent se) {
HttpSession session = se.getSession(); \\ handle to HttpSession Object
System.out.println("sessionCreated");
}
/**
* Receives notification that a session is about to be invalidated.
*/
@Override
public void sessionDestroyed(HttpSessionEvent se) {
}
}
リスナ クラスを Deployment Descriptor に追加しますweb.xml
。
<listener>
<listener-class>SessionListener</listener-class>
</listener>
Servlet 3.0
のような苦情コンテナを使用している場合は @Luiggi が指摘したように、でリスナーを宣言する代わりに@WebListenerアノテーションをTomcat 7
使用してリスナー クラスを定義することができますが、すべてのリスナー情報を見つけることができるため、オーソドックスなアプローチを好みます (バインディング リスナーを除く) 。 1 つのファイル自体に。web.xml