一、拦截器配置和测试:

1)定义两个拦截器,(要实现HandlerInterceptor接口)

HandlerInterceptor1:

 1 package com.cy.interceptor;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 
 6 import org.springframework.web.servlet.HandlerInterceptor;
 7 import org.springframework.web.servlet.ModelAndView;
 8 
 9 public class HandlerInterceptor1 implements HandlerInterceptor{
10     
11     //进入 Handler方法之前执行
12     //用于身份认证、身份授权
13     //比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行
14     @Override
15     public boolean preHandle(HttpServletRequest request,
16             HttpServletResponse response, Object handler) throws Exception {
17         System.out.println("HandlerInterceptor1--------------------preHandle");
18         
19         //return false表示拦截,不向下执行
20         //return true表示放行
21         return true;
22     }
23     
24     //进入Handler方法之后,返回modelAndView之前执行
25     //应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里统一指定视图
26     @Override
27     public void postHandle(HttpServletRequest request,
28             HttpServletResponse response, Object handler,
29             ModelAndView modelAndView) throws Exception {
30         System.out.println("HandlerInterceptor1--------------------postHandle");
31     }
32     
33     //执行Handler完成执行此方法
34     //应用场景:统一异常处理,统一日志处理
35     @Override
36     public void afterCompletion(HttpServletRequest request,
37             HttpServletResponse response, Object handler, Exception ex)
38             throws Exception {
39         System.out.println("HandlerInterceptor1--------------------afterCompletion");
40     }
41 }
View Code

相关文章: