【Servlet】リスナー ~ Listener ~

リスナー

 * Servlet内部で何らかのイベントが発生した際にそれをプログラムに通知する機能

リスナーの種類

 * リスナー(インターフェース)を実装すれば各イベントを取得できる

1) Servlet Contextイベント

1-1) Lifecycle             : ServletContextListener
1-2) Changes to attributes : ServletContextAttributeListener

2) HTTP Sessionイベント

2-1) Lifecycle             : HttpSessionListener
2-2) Changes to attributes : HttpSessionAttributeListener
2-3) Session migration     : HttpSessionActivationListener
2-4) Object binding        : HttpSessionBindingListener

3) Servlet requestイベント

3-1) Lifecycle             : ServletRequestListener
3-2) Changes to attributes : ServletRequetAttributeListener

詳細

1-1) ServletContextListener

イベントのタイミング

 * Webアプリケーションの起動時
 * シャットダウン時
 => 初期化と終了処理を行いたい場合に有効

1-2) ServletContextAttributeListener

イベントのタイミング

 * アプリケーションスコープのデータの変更(追加、削除、置換)時

2-1) HttpSessionListener

イベントのタイミング

 * セッションの生成/破棄の通知を受けた場合

2-2) HttpSessionAttributeListener

イベントのタイミング

 * sessionスコープを持つデータが追加・置換・削除された時

2-3) HttpSessionActivationListener

イベントのタイミング

 * セッションオブジェクトが非活性化されたり、活性化されたりする時

2-4) HttpSessionBindingListener

イベントのタイミング

 * セッションに追加・削除されたときに呼び出され
 * セッションタイムアウト

3-1) ServletRequestListener

イベントのタイミング

 * リクエスト処理の開始/終了時


関連記事

フィルタ機能 ~ Filter ~

http://blogs.yahoo.co.jp/dk521123/33573064.html

Axis2 で、Tomcat の 開始 / 停止イベントを拾うには

http://blogs.yahoo.co.jp/dk521123/34600183.html