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 (ペーパーバック)]
© 2006 矢木浩人