SpringBoot的
特性
1).只能拦截controller相关请求
2).可以中断请求轨迹
3).请求之前如果该请求配置了,请求会先经过,放⼼之后执⾏请求的controller,controller执⾏完成之后会回到继续执⾏中的代码执⾏顺序
preHandler  预先处理⽅法:  最先执⾏⽅法返回值布尔类型 true 放⾏请求,false中断,放⾏后执⾏controller内容
postHandler  过程中处理: controller返回之后回到postHandler这个⽅法执⾏,执⾏完成这个⽅法开始响应浏览器
afterCompletion  最后完成: 当响应结束之后会执⾏中这个⽅法内容
**⾃定义 implements HandlerInterceptor **
degzy.interceptors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//⾃定义
public class Myinterceptor implements HandlerInterceptor {
springboot和过滤器private static final Logger log = Logger(Myinterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.debug("=============1============");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {        log.debug("==============3=============");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
log.debug("===================4================");
}
}
配置
@Configuration
public class WebMvcConfig  implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor("")
.addPathPatterns("拦截路径")
.excludePathPatterns("排除路径")
.
order("指定执⾏顺序")    //order⽤来执⾏多个的执⾏顺序,order书写是⾃然数,按照⾃然数顺序执⾏
}
}