Springboot项目中创建拦截器

首先我们创建一个简单的拦截器

@Component
public class TokenInterceptor extends HandlerInterceptorAdapter {

    private Logger logger = Logger.getLogger(TokenInterceptor.class);
    private static final String TOKEN = "token";
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        return true;
    }
}

要想让这个拦截器生效我们需要添加一个配置类

@Component  
class WebConfigurer extends WebMvcConfigurerAdapter {

    @Value("${app.filesdir}")
    private String filesdir;
    @Resource
    private TokenInterceptor tokenInterceptor;
    @Override  
    public void addResourceHandlers(ResourceHandlerRegistry registry) {  
        //配置server虚拟路径,handler为jsp中访问的目录,locations为files相对应的本地路径
        registry.addResourceHandler("/files/**").addResourceLocations(filesdir);
    }
    /**
    * 使创建的拦截器生效
    */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(tokenInterceptor).addPathPatterns("/**");
        super.addInterceptors(registry);
    }
}

你可能感兴趣的:(springboot,springboot2)