―Servlet/JSPリファレンス―

@ITハイブックス編
2003/11/13
Javaプログラミング
ワンポイントレクチャーについて

   Httpセッションイベントとは

   ワンポイントQuestion

 セッションオブジェクトが生成、消滅するときに発生するイベントに対する処理を行うリスナを選択肢より選んでください。(単一選択)

A ServletContextListener
B ServletContextAttributeListener
C HttpSessionListener
D HttpSessionAttributeLister

   解説

 Httpセッションイベントとは、セッションオブジェクトの生成、消滅などのタイミングで発生するイベントです。イベントが各タイミングで発生したときは、そのイベントの通知を受けるリスナがあります。
 Httpセッションリスナは、Httpセッションイベントのリスナで、インターフェイスとしていくつか提供されています。

・HttpSessionListener
・HttpSessionAttributeListener
・HttpSessionActivationListener
・HttpSessionBindingListener

 ここでは、HttpSessionListenerとHttpSessionAttributeListenerのインターフェイスについて解説します。

■HttpSessionListenerインターフェイス

public interface HttpSessionListener extends java.util.EventListener
このインターフェイスを実装したクラスは、Webアプリケーション内のアクティブなセッションオブジェクトのリストに対する変更についての通知を受けることができます。

 通知イベントを受け取るには、そのWebアプリケーションに対する配備記述子(web.xml)に、この実装クラスのクラス名が設定されている必要があります。

■メソッド

public void sessionCreated(HttpSessionEvent se)
セッションオブジェクトが作成されたときに発生するイベントに対する処理を行います。

public void sessionDestroyed(HttpSessionEvent se)
セッションオブジェクトが無効化されたときに発生するイベントに対する処理を行います。

 HttpSessionListenerを使用すると、ロギング、またはパーシスタンスコードをアプリケーションに入れることができます。また、アプリケーションにログインしているユーザー数を追跡する場合にも利用できます。

web.xml
   …
<web-app>
   …
  <listener>
    <listener-class>listeners..SampleSessionListener</listener-class>
  </listener>
   …
</web-app>

■HttpSessionAttributeListenerインターフェイス

public interface HttpSessionAttributeListener extends java.util.EventListener
Webアプリケーション内のセッションオブジェクトの属性が追加、削除、変更されたときに発生するイベントのリスナインターフェイスです。

■メソッド

public void attributeAdded(HttpSessionBindingEvent se)
属性がセッションオブジェクトに追加されたときに発生するイベントに対する処理を行います。属性が追加された後に呼び出されます。

public void attributeRemoved(HttpSessionBindingEvent se)
属性がセッションオブジェクトから削除されたときに発生するイベントに対する処理を行います。属性が削除された後に呼び出されます。

public void attributeReplaced(HttpSessionBindingEvent se)
属性がセッションオブジェクトで変更されたときに発生するイベントに対する処理を行います。属性が変更された後に呼び出されます。

POINT
web.xmlには、複数の<listener>タグを記述することで複数のリスナを登録することができます。Webアプリケーションサーバによって、セッションオブジェクトの生成や消滅のタイミングが異なることがあります。


KEYWORD
■Httpセッションイベント
 セッションオブジェクトの生成、消滅などのタイミングで発生するイベントです。

   ワンポイントQuestionの解答

正解 C

Java2ラーニングブック −Web Component Developer編−

本記事は@ITハイブックスシリーズ「J2EEラーニングブック −Web Component Developer編−」(技術評論社)から、一部の内容を編集し転載したものです。本書の詳細は「@ITハイブックス」サイトでご覧いただけます。

 

Javaプログラミング・ワンポイントレクチャー INDEX





Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間