リクエスト、セッション、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 (ペーパーバック)]