拦截器HandlerInterceptor

拦截器的使用场景:
权限验证
返回视图之前进行统一处理
记录控制器方法执行的日志
计算控制器方法调用的耗时情况 ……

public class MyInterceptor01 implements HandlerInterceptor { 
	@Override
	public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { 
			// 处理器执行前被调用
			 // 方法为 true 表示会调用其它拦截器和处理器 // 返回 false 表示中断流程,不会执行后续拦截器和处理器 
			// 这里可以加入登录校验、权限拦截等
			 System.out.println("拦截器 1....preHandle...");
			  return false;
	   }
	 @Override 
	 public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception {
		    // 处理器执行后,视图处理前被调用。
		     // 此时可以通过 ModelAndView 对象模型数据进行处理或对视图进行处理,比如这 里加入公用信息以便页面显示 
		     System.out.println("拦截器 1...postHandle...");
	      }
	 @Override 
     public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception {
		       // controller 执行后且视图返回后调用此方法 
		       // 这里可得到执行 controller 时的异常信息 
		       // 这里可记录操作日志 // 这里进行一些资源清理 
		       // 只有当 preHandler 返回 true 时才会执行 
		       System.out.println("拦截器 1...afterCompletion..."); 
	       } 
  }

配置拦截器

<mvc:interceptors>
	<mvc:interceptor> 
		<mvc:mapping path=""/> 
		<mvc:exclude-mapping path=""/>
		<bean class="com.sy.controller.MyInterceptor">
		</bean>
	</mvc:interceptor>
</mvc:interceptors>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值