2012-03-21 15 views

答えて

10

Filter URLパターンに一致するHTTP要求を傍受し、それらを変更できます。また、そのjavadoc参照:

フィルタは、リソース(サーブレットまたは静的なコンテンツ)へのリクエストのいずれかにフィルタリングタスクを実行する目的で、またはリソース、あるいはその両方からの応答に。

フィルタは、doFilterメソッドでフィルタリングを実行します。すべてFilterは、その初期化パラメータを得ることができるFilterConfigオブジェクトにアクセスし、例えば、フィルタリングタスクに必要なリソースをロードするために使用できるServletContextへの参照を持ちます。

フィルタは、Webアプリケーションのデプロイメント記述子で設定されます。この設計のために確認されている

例は以下のとおりです。

  • 認証フィルタ
  • ロギングおよび監査フィルタ
  • 画像変換フィルタ
  • データ圧縮フィルタ
  • 暗号化フィルタ
  • トークン化フィルタ
  • のリソースアクセスイベント
  • XSL/Tフィルタ
  • MIMEタイプチェーンフィルター

Webアプリケーションの起動とシャットダウンにServletContextListenerインターセプトをトリガして、起動時にいくつかのコードを実行できるようにするフィルタおよび/またはシャットダウン。そのjavadoc

ServletContextライフサイクルの変更に関する通知イベントを受信するためのインターフェイス。

これらの通知イベントを受信するためには、実装クラスのいずれか、Webアプリケーションの配備記述子で宣言する必要がありますWebListenerで注釈を付け、またはServletContextに定義されたaddListenerの方法のいずれかを経由して登録。

このインターフェイスの実装は、宣言されている順番で、および逆順でcontextDestroyed(javax.servlet.ServletContextEvent)メソッドで呼び出されます(contextInitialized(javax.servlet.ServletContextEvent)メソッドで宣言されています)。

いつどちらか一方を使用するのは明らかです。 HTTP要求/応答を確認または変更するために、特定のURLパターンを処理するHTTP要求を代行受信する場合は、Filterを使用します。 Webアプリケーションの起動および/またはシャットダウンをインターセプトする場合は、ServletContextListenerを使用します。

javadocsの場所とその解釈方法を理解してください。彼らはこの種の些細な質問に対するすべての答えを含んでいます。

+0

あなたは、javaドキュメントにあるより多くの有用な情報を提供しました。ほんとありがと。 – BestPractices

関連する問題