SSMフレームワークspringMVCインターセプタ

1つの傍受の概要

1.1インターセプタとは何ですか?

springMVCフィルタ(フィルタ)サーブレットに似てインターセプター(インターセプタ)は、ユーザの要求をインターセプトし、それに応じて処理のために主です。たとえば、アクセス許可がインターセプタ、ログ記録要求情報によって確認することができる、ユーザのログイン等か否かを判断します。

springMVCにインターセプターを使用するには、インターセプタクラスを定義し、設定する必要があります。典型的には、インターセプタ・クラスは、2つの方法で定義することができます。

1 HandlerInterceptorインタフェースを実装または継承HandlerInterceptorインタフェースの実装クラスによって定義されます。

図2に示すようにWebRequestInterceptorインタフェースを実装またはWebRequestInterceptorインタフェースの実装クラスを継承することによって定義されます。

達成するためにHandlerInterceptorインタフェースモードは、例えば、カスタムインターセプタクラスのコードは次のように:

パブリック クラス CustomInterceptorが実装HandlerInterceptor {
         パブリック ブールpreHandle(HttpServletRequestのリクエスト、
                                 HttpServletResponseの応答、オブジェクト・ハンドラ)がスロー例外{
             戻り 
        } 
        公共 ボイドpostHandle(HttpServletRequestのリクエスト、
                               HttpServletResponseの応答、オブジェクト・ハンドラ
                               のModelAndViewのModelAndView)をスロー例外{ 
            
        } 
        公共 ボイドafterCompletion(HttpServletRequestのリクエストを、
                                    HttpServletResponseの応答、オブジェクトハンドラ、
                                    例外EX)がスロー例外を{ 
        } 
    }

上記のコードは、カスタムインターセプタHandlerInterceptorは、インターフェイスを実装し、3つのインターフェイスのメソッドを実装します。

preHandle()メソッド:このメソッドは、割込みの戻り値は、後続の操作かどうかを示す、コントローラのメソッドの前に行われます。それは行くことを示し、真の値を返す場合、戻り値がfalseの場合、(次のコールインターセプタコントローラクラスなどを行う方法を含む)すべての後続の操作を中断します。

postHandle()メソッド:このメソッドは、コントローラ後方法、及び分析の実行前にビューを呼び出します。我々は、モデルと、この方法によってビューにさらに変更を加えることができます。

afterCompletion()メソッド:エンド・ビューのレンダリングがそのように情報をログに記録する、いくつかのリソースをクリーンアップするために、この方法によって達成することができた後、全体の要求を完了します。このメソッドは、それが実行されます。

おすすめ

転載: www.cnblogs.com/liu1275271818/p/11502382.html