1、拦截器的定义
实现HandlerInterceptor接口,或继承HandlerInterceptor接口的实现类(如HandlerInterceptorAdapter)来定义
执行过程如下
代码实例
public class TokenInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
{
System.err.println("进入全局拦截器,路径为:"+request.getRequestURI());
// 验证登录token 这里是调用的工具类,在工具类中校验过token令牌了
UserInfo userInfo = TokenUtil.getUserInfo(request, response);
if(userInfo==null){
return false;
}
return true;
}
}
2.注册拦截器,使之生效
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override //拦截器配置
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new TokenInterceptor()) //拦截器注册对象
.addPathPatterns("/special/**","/report/**"); //指定要拦截的请求
}
}