BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > Web アプリケーションのアセンブルとコンフィグレーション > アプリケーション イベントとリスナ |
Web アプリケーションのアセンブルとコンフィグレーション
|
この章では、Web アプリケーションのイベントとリスナをコンフィグレーションおよび使用する方法について説明します。
アプリケーション イベントとは、サーブレット コンテキストのステートの変更 (各 Web アプリケーションは独自のサーブレット コンテキストを使用する)、または HTTP セッション オブジェクトのステートの変更を通知するものです。これらのステートの変更に応答するイベント リスナ クラスを作成して、Web アプリケーションでアプリケーション イベントとリスナ クラスをコンフィグレーションおよびデプロイします。
サーブレット コンテキスト イベントの場合、イベント リスナ クラスは、Web アプリケーションがデプロイされるときやアンデプロイされているとき (または WebLogic Server が停止するとき)、および、属性が追加、削除、置換されたときに、通知を受け取ることができます。
HTTP セッション イベントの場合、イベント リスナ クラスは、HTTP セッションがアクティブ化されたかパッシベーションされようとしているとき、および、HTTP セッション属性が追加、削除、置換されたときに、通知を受け取ることができます。
次の表は、サーブレット コンテキスト イベントのタイプ、イベント リスナ クラスがイベントに応答するために実装すべきインタフェース、およびイベントが発生したときに起動されるメソッドを示しています。
次の表は、HTTP セッション イベントのタイプ、イベント リスナ クラスがイベントへの応答に実装すべきインタフェース、およびイベントが発生したときに起動されるメソッドを示しています。
注意: サーブレット 2.3 仕様にも javax.servlet.http.HttpSessionBindingListener インタフェースと javax.servlet.http.HttpSessionActivationListener インタフェースが含まれています。これらのインタフェースは、セッション属性として格納されるオブジェクトによって実装され、web.xml へのイベント リスナの登録を必要としません。詳細については、これらのインタフェースの Javadoc を参照してください。
イベント リスナをコンフィグレーションするには、次の手順に従います。
<listener>
<listener-class>myApp.myContextListenerClass</listener-class>
</listener>
<listener>
<listener-class>myApp.mySessionAttributeListenerClass</listener-class>
</listener>
次の便利なクラスは、リスナ クラスのリスナ メソッドに渡されます。
package myApp;
import javax.servlet.*;
public final class myContextListenerClass implements
ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
/* このメソッドは、サーブレット コンテキストが初期化されたとき
(Web アプリケーションがデプロイされたとき) に呼び出される。
この時点で、サーブレット コンテキストに関連するデータを初期化できる
*/
}
public void contextDestroyed(ServletContextEvent event) {
/* このメソッドは、サーブレット コンテキスト (Web アプリケーション) が
アンデプロイされたとき、または WebLogic Server が
シャットダウンしたときに呼び出される
*/
}
}
package myApp;
import javax.servlet.*;
public final class mySessionAttributeListenerClass implements
HttpSessionAttributeListener {
public void attributeAdded(HttpSessionBindingEvent sbe) {
/* このメソッドは、属性がセッションから削除されたときに
呼び出される
*/
}
public void attributeRemoved(HttpSessionBindingEvent sbe) {
/* このメソッドは、属性がセッションから削除されたときに
呼び出される
*/
}
public void attributeReplaced(HttpSessionBindingEvent sbe) {
/* このメソッドは、属性がセッションで置き換えられたときに
呼び出される
*/
}
}
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |