本文阅读量 次
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");
}
}