天天看点

springmvc的自定义拦截器

一、自定义拦截器实现HandlerIntercepter接口:进而实现它的三个方法

public class MyInterceptor1 implements HandlerInterceptor {
	@Override
	public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o)
			throws Exception {
		System.out.println("执行方法前1");
		return true;
	}

	@Override
	public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o,
			ModelAndView modelAndView) throws Exception {
		System.out.println("执行方法后1");
	}

	@Override
	public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
			Object o, Exception e) throws Exception {
		System.out.println("渲染页面后1");
	}
}
           

在springmvc.xml中配置自定义拦截器:

<!--自定义拦截器-->

总结:preHandle按拦截器定义顺序调用postHandler按拦截器定义逆序调用afterCompletion按拦截器定义逆序调用postHandler在拦截器链内所有拦截器返成功调用afterCompletion只有preHandle返回true才调用