您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Spring攔截器實現(xiàn)HandlerInterceptor接口代碼解析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring攔截器實現(xiàn)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>
到此,相信大家對“Spring攔截器實現(xiàn)HandlerInterceptor接口代碼解析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。