跳转至
本文阅读量

1. Spring Overview

1.1 Spring Filter 和 Spring Interceptor(拦截器)

严格讲应该是 Servlet 中的 Filter

Filter Interceptor 备注
J2EE Servlet 中的概念,是针对 HTTP 请求的 Spring Framework 的概念,是针对 Controller 方法的
init
doFilter
destroy
preHandle
postHandle
afterCompletion
Spring 概念,可以获取 ApplicationContext

1.1.1 声明 Filter 的方法

1.1.1.1 使用 @WebFilter 注解

@WebFilter(urlPattern="/*")
@Order(value = 1)
public class TestFilter implements Filter {

    @Override
    public void init() {
        // ...
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
        // ...
    }

    @Override
    void destroy() {
        // ...
    }
}

1.1.1.2 使用 FilterRegistrationBean 方法


1.1.2 声明 HandlerInterceptor 的方法

1.1.2.1 通过 WebMvcConfigurer

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new DemoInterceptor()).addPathPatterns("/api/*").excludePathPatterns("/api/ok");
    }
}