一、步骤
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 }