springboot使用拦截器简单使用
1、定义配置类,实现WebMvcConfigurer ;继承WebMvcConfigurerAdapter(sb2.x版本中过时了);本人用的springboot2.1.7实现WebMvcConfigurer。addInterceptors方法为添加拦截器
拦截器配置过滤,路径为配置的过滤中的时,不进行拦截
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
/*在Config中把实例化Bena传入Interception */
@Autowired
private LianXiService lianXiService;
@Override
public void addInterceptors(InterceptorRegistry registry) {
List<String> loginList = new ArrayList<>();
loginList.add("/login/to_login");
loginList.add("/static/**");
registry.addInterceptor(new
SystemInterceptor(lianXiService)).exclu
dePathPatterns(loginList);
}
}
拦截器使用
@Configuration
public class SystemInterceptor extends HandlerInterceptorAdapter {
/*请求前执行 核心方法 进行拦截,true继续执行后续任务,false则终止进程 */
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {
if (handler instanceof HandlerMethod) {
// 请求为未禁止拦截的方法
}
return true;
}
/*请求后执行*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
//这块大家应该认识这些参数是干啥的,我就不复述了
}
}