一、步骤

1.创建我们自己的拦截器类并实现 HandlerInterceptor 接口。 

2.创建一个Java类继承WebMvcConfigurerAdapter,并重写 addInterceptors 方法。

3.实例化我们自定义的拦截器,然后将对像手动添加到拦截器链中(在addInterceptors方法中添加)。

二、实例

1.创建自定义拦截器并实现HandlerInterceptor 接口

 1 package com.xsjt.interceptor;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 import org.slf4j.Logger;
 6 import org.slf4j.LoggerFactory;
 7 import org.springframework.web.servlet.HandlerInterceptor;
 8 import org.springframework.web.servlet.ModelAndView;
 9 
10 /**  
11  * ClassName:XbqInterceptor 
12  * 自定义拦截器
13  * Date:     2017年11月6日 下午4:56:27
14  * @author   Joe  
15  * @version    
16  * @since    JDK 1.8
17  */
18 public class XbqInterceptor implements HandlerInterceptor{
19     
20     private static final Logger logger = LoggerFactory.getLogger(XbqInterceptor.class);
21 
22     @Override
23     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
24         logger.info(this.getClass().getName() + "<---xbq--->preHandle");
25         return true;
26     }
27 
28     @Override
29     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
30         logger.info(this.getClass().getName() + "<---xbq--->postHandle");
31     }
32 
33     @Override
34     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
35         logger.info(this.getClass().getName() + "<---xbq--->afterCompletion");
36     }
37 }
 1 package com.xsjt.interceptor;
 2 
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 import org.slf4j.Logger;
 6 import org.slf4j.LoggerFactory;
 7 import org.springframework.web.servlet.HandlerInterceptor;
 8 import org.springframework.web.servlet.ModelAndView;
 9 
10 /**  
11  * ClassName:XbqInterceptor 
12  * 自定义拦截器
13  * Date:     2017年11月6日 下午4:56:27
14  * @author   Joe  
15  * @version    
16  * @since    JDK 1.8
17  */
18 public class JoeInterceptor implements HandlerInterceptor{
19     
20     private static final Logger logger = LoggerFactory.getLogger(JoeInterceptor.class);
21 
22     @Override
23     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
24         logger.info(this.getClass().getName() + "<---joe--->preHandle");
25         return true;
26     }
27 
28     @Override
29     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
30         logger.info(this.getClass().getName() + "<---joe--->postHandle");
31     }
32 
33     @Override
34     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
35         logger.info(this.getClass().getName() + "<---joe--->afterCompletion");
36     }
37 }
View Code

相关文章: