Spring攔截器HandlerInterceptor接口代碼解析
Spring的HandlerMapping支持攔截器,攔截器必須實現(xiàn)HandlerInterceptor接口,此接口里面有下面3中方法:
1.preHandle()處理器執(zhí)行前被調(diào)用,方法返回true標識繼續(xù)調(diào)用其他攔截器或者處理器,返回false表示中斷流程,后續(xù)的攔截器和處理器不再執(zhí)行。
2.postHandle()處理器執(zhí)行后,視圖執(zhí)行前調(diào)用,此時而已通過ModelAndView對象對數(shù)據(jù)模型數(shù)據(jù)進行處理或?qū)σ晥D進行處理。
3.afterCompletion()整個過程結(jié)束后調(diào)用,比如性能監(jiān)控中我們在這里可以記錄結(jié)束時間并輸出消耗的時間,也可以在這里寫對資源的清理,但是只有preHandle()返回true時才會執(zhí)行afterCompletion方法。
public class someInterceptor implements HandlerInterceptor{ public boolean preHandle(HttpServletRequest req,HttpServletResponse resp,Object handler)throws Exception{ //TODO 處理器執(zhí)行前被調(diào)用 return true; } publilc void postHandle(HttpServletRequest req,HttpServletResponse resp,Object handler,ModelAndView mv)throws Exception{ //TODO 處理器執(zhí)行后被調(diào)用 } public void afterCompletion(HttpServletRequest req,HttpServletResponse resp,Object handler,Exception e)throws Exception{ //TODO全部執(zhí)行完成后調(diào)用 } }
這個自定義的攔截器實現(xiàn)HandlerInterceptor接口就要實現(xiàn)接口里所有的方法,如果只想使用某一種方法,可以繼承HandlerInterceptorAdapter.
攔截器的配置
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/org/*"/> <mvc:exclude-mapping path="/login/*"/> <bean class="org.vipcpi.interceprot.someInterceptor"/> </mvc:interceptor> </mvc:interceptors>
總結(jié)
以上就是本文關于Spring攔截器HandlerInterceptor接口代碼解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關文章
SpringBoot內(nèi)部調(diào)用事務不起作用問題的解決方案
這篇文章主要介紹了SpringBoot事務不起作用問題的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10關于spring項目中無法加載resources下文件問題及解決方法
在學習Spring過程中,TestContext框架試圖檢測一個默認的XML資源位置,再resources下創(chuàng)建了一個com.example的文件夾,執(zhí)行時,報錯,本文給大家介紹spring項目中無法加載resources下文件,感興趣的朋友跟隨小編一起看看吧2023-10-10如何用Java?幾分鐘處理完?30?億個數(shù)據(jù)(項目難題)
現(xiàn)有一個 10G 文件的數(shù)據(jù),里面包含了 18-70 之間的整數(shù),分別表示 18-70 歲的人群數(shù)量統(tǒng)計,今天小編通過本文給大家講解如何用Java?幾分鐘處理完?30?億個數(shù)據(jù),這個問題一直以來是項目難題,今天通過本文給大家詳細介紹下,感興趣的朋友一起看看吧2022-07-07詳解Java利用同步塊synchronized()保證并發(fā)安全
這篇文章主要介紹了Java利用同步塊synchronized()保證并發(fā)安全,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03解決@PostConstruct注解導致的程序無法啟動(@PostConstruct的執(zhí)行)
這篇文章主要介紹了解決@PostConstruct注解導致的程序無法啟動(@PostConstruct的執(zhí)行)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01