SpringBoot实现拦截器简单示例

1生成一个拦截器类,实现拦截业务

实现HandlerInterceptor接口,重写preHandle方法

public class LoginInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("实现拦截操作,进入Controller之前执行/");
        return true;
    }

}

2在配置类文件中重写添加拦截器的方法

实现WebMvcConfigurer接口,重写addInterceptors方法,方法中可以设置拦截或者不拦截的路径

@Configuration  //等价于Spring的xml文件
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //定义需要拦截的数组
        String[] pathPatterns={
                "/**"
        };
        //定义不需要拦截的数组
        String[] excludePathPatterns={
                "/web/interceptor1"
        };
        InterceptorRegistration interceptor = registry.addInterceptor(new LoginInterceptor());
        interceptor.addPathPatterns(pathPatterns);
        interceptor.excludePathPatterns(excludePathPatterns);
    }
}

简单的一个拦截器就实现了

发布了27 篇原创文章 · 获赞 1 · 访问量 852

猜你喜欢

转载自blog.csdn.net/weixin_44971379/article/details/104883490