您好,登錄后才能下訂單哦!
本篇內容主要講解“Spring攔截器實現HandlerInterceptor接口代碼解析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring攔截器實現HandlerInterceptor接口代碼解析”吧!
Spring的HandlerMapping支持攔截器,攔截器必須實現HandlerInterceptor接口,此接口里面有下面3中方法:
1.preHandle()處理器執行前被調用,方法返回true標識繼續調用其他攔截器或者處理器,返回false表示中斷流程,后續的攔截器和處理器不再執行。
2.postHandle()處理器執行后,視圖執行前調用,此時而已通過ModelAndView對象對數據模型數據進行處理或對視圖進行處理。
3.afterCompletion()整個過程結束后調用,比如性能監控中我們在這里可以記錄結束時間并輸出消耗的時間,也可以在這里寫對資源的清理,但是只有preHandle()返回true時才會執行afterCompletion方法。
public class someInterceptor implements HandlerInterceptor{ public boolean preHandle(HttpServletRequest req,HttpServletResponse resp,Object handler)throws Exception{ //TODO 處理器執行前被調用 return true; } publilc void postHandle(HttpServletRequest req,HttpServletResponse resp,Object handler,ModelAndView mv)throws Exception{ //TODO 處理器執行后被調用 } public void afterCompletion(HttpServletRequest req,HttpServletResponse resp,Object handler,Exception e)throws Exception{ //TODO全部執行完成后調用 } }
這個自定義的攔截器實現HandlerInterceptor接口就要實現接口里所有的方法,如果只想使用某一種方法,可以繼承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攔截器實現HandlerInterceptor接口代碼解析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。