SpringMVCの詳細インターセプター

まず、application.xmlに次のようにインターセプタを使用します:
ここに画像を挿入説明

ここでは、次のようにMyInterceptorは、私たち自身のインターセプタを書きです

ここに画像を挿入説明

それぞれの方法でのインターセプタの役割で、我々は次のソースコードを分析し、チャート上の関数、詳細な表情

preHandle方法

ここに画像を挿入説明

ここに画像を挿入説明

上記の二つの絵に示されているように、我々はpreHandlerのカスタムインターセプタ方法を見つけました

我々はそれを書いた場合は自分preHandleメソッドがfalseの値を返す、判決の赤いボックスdoDispatch方法の条件が真である場合、このメソッドは通常preHandleセットの権限を行うために使用されるように、実行はもはや、doDispatch方法をスキップして返しません

postHandle方法

ここに画像を挿入説明

上記のように、決意は偽Ruoguo applyPreHandleあります

その後、第一の方法ハンドルの実装、および着信applyPostHandle我々のアプローチを見るに戻り、我々はインターセプタを通過した後、私たちの迎撃にpostHandleメソッドを呼び出します
ここに画像を挿入説明

要求が行われるので、ページ上の完了コントローラ層が応答しなかった後に、この時点では、この方法は、実行されるので、この時点で我々は、この方法でMV postHandleを表示することができますページの表示方法に応じて、さらにあります

afterCompletion方法

一般的には、リソースを解放するために使用することができます

まず、要求が完了した後に転送される
ここに画像を挿入説明
2つの例外doDispatch法(実際processDispatchResult法)が発生される
ここに画像を挿入説明
HandlerExecutionChainのtriggerAfterComletion法と呼ばれる両方の場合において

ここに画像を挿入説明

公開された101元の記事 ウォンの賞賛3 ビュー2227

おすすめ

転載: blog.csdn.net/S_Tian/article/details/104559328