トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

3.4 Webコンテナのライフサイクルイベント



目次



記事一覧

キーワード

リクエスト、セッション、Webアプリケーションに対するWebコンテナのライフサイクルイベント:各スコープのライフサイクルに対しリスナークラスを作成、設定する。スコープ属性リスナークラスを作成、設定する。ある状況において、適した属性リスナーを識別する


 ServletContext


種別 クラス名 備考
Listener ServletContextListener コンテキストの初期化、破棄時に呼ばれる
Listener ServletContextAttributeListener ServeltContextコンテナに対して、属性の追加や削除、変更が行われた場合に呼ばれる
Event ServletContextEvent ServeltContextを取得できる
Event ServeltContextAttributeEvent ServeltContext、属性のキー、値を取得できる

上記インターフェースを実装したクラスを作成し、配備記述子に以下のように登録する。

<listener>
  <listener-class>listener.ScwcdContextListener</listener-class>
</listener>

 HttpSession

種別 クラス名 備考
Listener HttpSessionListener セッションの生成、破棄時に呼ばれる
Listener HttpSessionActivationListener 分散環境にて、JVM間をセッションが移動する際に、セッションが活動状態、不活動状態になったときに呼ばれる
Event HttpSessionEvent セッションを取得できる
Listener HttpSessionAttributeListener HttpSessionコンテナに対して、属性の追加や削除、変更が行われた場合に呼ばれる
Listener HttpSessionBindingListener HttpSessionコンテナに追加するオブジェクトが実装し、属性の追加や削除、変更が行われた場合にそのオブジェクトに通知される。
Event HttpSessionBindingEvent HttpSession、属性のキー、値を取得できる

上記インターフェースを実装したクラスを作成し、配備記述子に以下のように登録する。
HttpSessionBindingListenerは、配備記述子ではなく、コンテナにセットするクラスに実装する。

<listener>
  <listener-class>listener.ScwcdHttpSessionListener</listener-class>
</listener>
<listener>
  <listener-class>listener.ScwcdHttpSessionAttributeListener</listener-class>
</listener>

 ServletRequest

種別 クラス名 備考
Listener ServletRequestListener リクエストの初期化、破棄時に呼ばれる
Event ServletRequestEvent ServletContext、ServletRequestを取得可能
Listener ServletRequestAttributeListener ServletRequestコンテナに対して、属性の追加や削除、変更が行われた場合に呼ばれる
Event ServletRequestAttributeEvent ServletContext、ServletRequest、属性のキー、値を取得可能

上記インターフェースを実装したクラスを作成し、配備記述子に以下のように登録する。

<listener>
  <listener-class>listener.ScwcdServletRequestListener</listener-class>
</listener>
<listener>
  <listener-class>listener.ScwcdServletRequestAttributeListener</listener-class>
</listener>

SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.