Spring MVC攔截器入門


關於攔截器的理解

1、 HandlerInterceptorAdapter:

對請求進行攔截,做一些預處理、返回處理、后處理的操作。

SpringMVC中使用攔截器的方法,繼承HandlerInterceptorAdapter類,並根據需求實現其中的preHandle方法(預處理)、postHandle方法(返回處理)、afterCompletion方法(后處理)。

(1)preHandle方法(預處理):

當請求來的時候,先經過applyPreHandle,內部會按照順序獲取所有的攔截器,並依次攔截。當進入攔截器鏈中的某個攔截器,會執行preHandle方法。

當該方法返回值為false的時候,從當前的攔截器往回執行所有攔截器中的afterCompletion方法,再退出攔截器鏈。

當該方法返回值為true時,執行下一個攔截器,直至攔截器全部執行完。然后再執行被攔截的controller,之后再進入攔截器鏈運行所有攔截器的postHandle方法,完成后從最后一個攔截器往回執行所有的afterCompletion方法。

(2)postHandle方法(返回處理)

(3)afterCompletion方法(后處理)

應用:攔截開發者;對加密數據進行解密。

在xml文件中設置:

 

 

2、HandlerMethodArgumentResolver:

在supportsParameter方法中判斷請求參數是否HandlerMethodArgumentResolver所支持,方法參數MethodParameter里面包含了請求參數的信息。比如在supportsParameter方法如果請求參數有某個注解,那么該請求可以被HandlerMethodArgumentResolver支持,就會按照resolveArgument中的方法來處理請求參數。

 

xml中配置如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM