轉(zhuǎn)載請注明出處:http://www.cnblogs.com/Joanna-Yan/p/7098753.html
前面講到:Spring+SpringMVC+MyBatis深入學(xué)習(xí)及搭建(十六)——SpringMVC注解開發(fā)(高級篇)
1.攔截器定義
Spring Web MVC的處理器攔截器類似于Servlet開發(fā)中的過濾器Filter,用于對處理器進行預(yù)處理和后處理。
定義攔截器,實現(xiàn)HandlerInterceptor接口。接口中提供三個方法。
package joanna.yan.ssm.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;public class HandlerInterceptor1 implements HandlerInterceptor{ //執(zhí)行Handler完成執(zhí)行此方法 //應(yīng)用場景:統(tǒng)一異常處理,統(tǒng)一日志處理 @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("HandlerInterceptor1......afterCompletion"); } //進入Handler方法之后,返回modelAndView之前執(zhí)行 //應(yīng)用場景從modelAndView出發(fā):將公用的模型數(shù)據(jù)(比如菜單導(dǎo)航)在這里傳到視圖,也可以在這里同意指定視圖 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response,