1つの基本的な考え方
リスナーは、直ちに適切な処置を取り、耳を傾け、対応するオブジェクトの処理、監視対象の発生を変更するために起こった状態やその他のオブジェクトのための特別なイベントです。リスナーが実際に特定のインターフェースを実現する一般的なJavaプログラムである、方法を監視するように設計されたこのプログラムは、別のJavaオブジェクトを呼び出す以上のイベントが監視対象オブジェクトを発生する変化、直ちに実行される方法リスナ属性。
JavaWebは、リスナーはのServletContext、HttpSessionにWebアプリケーションを監視するために使用されており、これらのドメインは、変更が発生したオブジェクト属性に、時間領域の破壊でオブジェクトを作成し、聴くのが好きのServletRequest、特別なクラス定義されたサーブレットの仕様でありますイベント。
カテゴリー2サーブレットリスナー
リスナーサーブレット仕様の種類を複数定義し、それらはそれぞれ、イベントソース、ServletletContext、HttpSessionのとのServletRequest 3ドメインオブジェクトを監視するために使用されます。
これら3つのオブジェクト、再び三種類に分けリスナーのさまざまな種類の操作のためのサーブレット仕様:
●モニタードメインオブジェクトのイベントリスナー自身の創造と破壊。
●追加や削除、属性イベントリスナーは、ドメインオブジェクトをリッスンします。
●イベントリスナーは、状態の結合ドメインオブジェクトのHttpSessionに耳を傾けます。
3ドメインServletContextオブジェクトの作成と破棄を聞きます
ServletContextListenerインターフェースを作成し、イベントリスナーServletContextオブジェクトを破壊するために使用されます。インタフェースを実装するのServletContextListenerクラスは、ServletContextオブジェクトの生成と破壊を聞くことができます。
ServletContextオブジェクトが作成されると、contextInitialized(ServletContextEventイベント)方法に影響を与えました。
ServletContextオブジェクトが破壊され、励起contextDestoryed(ServletContextEventイベント)方法。
ServletContextのドメインオブジェクトが作成されたときに破棄されています。
作成:Webアプリケーションごとにサーバーの起動のServletContextを作成します。
破壊:サーバーは、各Webアプリケーションに代わってのServletContextをシャットダウンする前に電源を切ってください。
例:サーブレットコンテキストリスナーオブジェクトを作成し、破壊し、インタフェースのServletContextListenerを実装するクラスを作成MyServletContextListener。
●次のように、リスナーを書きます:
パッケージcom.xdl.listener。
輸入れるjavax.servlet.ServletContextEvent。
輸入javax.servlet.ServletContextListener。
/ **
* MyServletContextListenerクラスは、インタフェースのServletContextListenerを実装します
*ですから、この二つのアクションのServletContextオブジェクトの作成と破棄のために聞くことができます
* /
パブリッククラスMyServletContextListenerは{のServletContextListenerを実装します
@オーバーライド
公共のボイドcontextDestroyed(ServletContextEventのSCE){
System.out.println( "ServletContextオブジェクトの作成");
}
@オーバーライド
contextInitializedます。public void(ServletContextEvent SCE){
System.out.println(「ServletContextオブジェクトが破壊されます」)。
}
}
web.xmlファイル内●登録済みリスナー
●私たちは、web.xmlに登録ファイルを監視しながらイベントソースを監視するために、あなたのイベントソースにリスナーを登録する必要がありますが、JavaWebで、監視するためのアクションイベントソースの振る舞いに達成することができ、上記で述べましたそれらを構成します。次のように詳細な設定は次のとおりです。
<?xml version = "1.0" エンコード= "UTF-8"?>
<web-appののxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance"
xmlns = "http://xmlns.jcp.org/xml/ns/javaee"
XSI:のschemaLocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
バージョン= "3.1">
<聞き手>
<説明>のServletContextListener监听器</記述>
<リスナークラス> com.xdl.listener.MyServletContextListener </リスナクラス>
</リスナー>
</ web-app>の
Webサーバの起動時にこの2つのステップの後、我々は、リスナーの作成と登録を完了している、それは自動的にweb.xmlファイルのServletContextオブジェクトに登録し、リスナー、とても良いリスナーMyServletContextListenerの開発に設定されます私たちは、ServletContextオブジェクトを聞くことができます。