拦截器
1.所有的拦截器一定要在类中实现HandleInterceptor接口,在该接口中提供有以下几个处理拦截的操作方法:

2.写一个拦截器类com.ytinf.interceptor.ValidationInterceptor,并实现HandleInterceptor接口并覆写需要拦截的方法
3.修改spring-mvc.xml配置文件,进行拦截器的控制,所有的拦截器都要求设置一个匹配路径,而此时的匹配路径最好针对的是所有的Action。
1 <!-- 进行拦截器的访问路径的匹配 --> 2 <mvc:interceptors> 3 <mvc:interceptor> 4 <mvc:mapping path="/pages/**/*.action"/> <!-- 定义拦截器的匹配路径 --> 5 <bean class="com.ytinf.interceptor.ValidationInterceptor"/> 6 </mvc:interceptor> 7 </mvc:interceptors>
4.观察HandleInterceptor接口中的方法,每一个拦截方法都有一个Object类型的参数handler,该handler应该是handlerMethod对象的实例,所以最好在拦截方法中先检测一下此handler是不是handlerMethod的对象,如果是再执行。
1 @Override 2 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 3 if (handler instanceof HandlerMethod) { // 是否为HandleMethod类的实例 4 HandlerMethod handlerMethod = (HandlerMethod) handler ; // 获取HandleMethod对象实例 5 this.logger.info("【Action对象】" + handlerMethod.getBean()); 6 this.logger.info("【Action类型】" + handlerMethod.getBeanType()); 7 this.logger.info("【Action方法】" + handlerMethod.getMethod()); 8 } 9 return true; 10 }

浙公网安备 33010602011771号