インターセプターとフィルタフィルターインターセプタの違い

(1)フィルター(フィルター):あなたが原料の束を持っている場合、あなたはちょうどあなたが特定の要件に準拠して何かを選びたいです。ツール定義これらの要件は、フィルタです。(了解:文字Bの山を取ります)

(2)インターセプター(インターセプター):継続的なプロセスでは、あなたがその進行を妨げる、あるいはそれを終了したい、これは実行するインターセプターです。(理解する:彼の介入で手紙の山を、他の何かをやってへの道少ないポイントを認証されました)。

  インターセプターJavaリフレクション機構は基づいており、フィルタは、コールバック関数に基づいています。
  インターセプタは、サーブレットコンテナ、およびフィルタに依存するサーブレットコンテナを依存していません。
  アクションのみ迎撃機能を要求することができ、およびフィルタは、ほぼすべての要求に基づいて行動することができます。
  アクション・インターセプタは、コンテキストにアクセスすることができ、オブジェクトのスタック、およびフィルタの値にアクセスすることはできません。
  ライフサイクルのアクションでは、インターセプタは複数回呼び出すことができ、かつコンテナが初期化されるとき、フィルタは一度だけ呼び出すことができます。
  インターセプタは、各Bean IOCコンテナを取得することができ、およびフィルタは、あなたがビジネスロジックを呼び出すことができるサービスのインターセプタを注入することが非常に重要であり、機能しません。
 
 
1.フィルタは、コールバック関数を使用したJavaEE標準的な方法です。要求後の容器に入る前に前処理され、まだサーブレットに入り、この要求の遠位端との間の後処理に戻りません。
chain.doFilter(リクエスト、レスポンス);流域として、このメソッドを呼び出します。実際にコールdoServiceサーブレットは、()メソッドはchain.doFilter(リクエスト、レスポンス)であり、この方法を行います。
 
 
2.インターセプターは、フィルタに包まれています。

  a.preHandle()この方法ステップは、フィルタchain.doFilter(リクエスト、レスポンス)メソッドの前に行われる、すなわち、[するSystem.out.println( "前...")] [chain.doFilter(要求、レスポンス)]との間で実行されます。

  リターンがあることのModelAndView前b.preHandle()メソッドの後、あなたは、コントローラのModelAndViewの内容を操作することができます。

  c.afterCompletion()メソッドは、すなわち、[chain.doFilter(リクエスト、レスポンス)] [するSystem.out.println(「...後」)]との間の実行中、フィルタの前端の前に行われる工程に戻されます。

3.SpringMVC機構は、実際には、このステップは、サーブレットのサービス()メソッドで実行され、同じ要求を分配するために、コントローラ・サーブレットは異なっています。実際には、非常に良好な試験、フィルタ、ブロッカー、これらの方法を記述しますので、フィルタは、インターセプタ、サービス()メソッドは、実行dispatc()の順序は、方法は、概ね図を描いたようなものでなければなりませんすべてのブレークポイントを追加し、ダウンF8のすべての方法は締めくくりました。

4.SpringMVC機構は、実際には、このステップは、サーブレットのサービス()メソッドで実行され、同じ要求を分配するために、コントローラ・サーブレットは異なっています。

5. SpringMVC機構は、実際には、このステップは、サーブレットサービス()メソッドで実行され、同じサーブレットへの要求を分散するために、コントローラは異なっています。

6.SpringMVC機構は、実際には、このステップは、サーブレットのサービス()メソッドで実行され、同じ要求を分配するために、コントローラ・サーブレットは異なっています。

 

7.また、インターセプタ容器は、春、春がサポートされています

 

 

 URL:http://blog.sina.com.cn/s/blog_4c890a7f0102xnvq.html

おすすめ

転載: www.cnblogs.com/Tony100/p/11590111.html