SpringMVC学习笔记——拦截器

1. 配置springmvc.xml


		
		
		
		
		
			
			
		

class为拦截器类的路径

2. 实现拦截器接口 

public class FirstInterceptor implements HandlerInterceptor{	
	/*
	 * 该方法在目标方法之前被调用
	 * 若返回值为true,则继续调用后续的拦截器和目标方法
	 * 若返回值为false,则不会再调用后续的拦截器和目标方法
	 * 用法:可以考虑做权限,日志,事务等
	 * */
	@Override
	public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
		// TODO Auto-generated method stub
		
		System.out.println("[FirstInterceptor] preHandle");
		return true;
	}
	
	/*
	 * 调用目标方法之后,但渲染视图之前
	 * 用法:可以对请求域中的属性或试图作出修改
	 * */
	@Override
	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
			throws Exception {
		// TODO Auto-generated method stub
		System.out.println("[FirstInterceptor] postHandle");
		
	}
	/*
	 * 渲染视图之后调用
	 * 用法:释放资源
	 */
	
	@Override
	public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
		// TODO Auto-generated method stub
		System.out.println("[FirstInterceptor] afterCompletion");
		
	}	

}

多个拦截器执行顺序: preHandle正序执行,其余逆序执行

SpringMVC学习笔记——拦截器_第1张图片

 

你可能感兴趣的:(SpringMVC,SpringMVC)