Springboot实现过滤器的两种方式
Springboot实现过滤器有以下俩种方式,第一种方式俩步走,即向spring容器注册filter
第一种:
1.Filter过滤器具体实现类
@Component
@Slf4j
public class MyTestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
log.info("[ {} ] 创建啦...", this.getClass().getSimpleName());
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
log.info("[ {} ] 执行啦...", this.getClass().getSimpleName());
chain.doFilter(request, response);
}
@Override
public void destroy() {
log.info("[ {} ] 被摧毁啦...", this.getClass().getSimpleName());
}
}2.向spring容器注册filter
@Configuration
public class FilterConfig {
@Resource
private MyTestFilter myTestFilter;
@Bean
public FilterRegistrationBean testFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(myTestFilter);
registration.addUrlPatterns("/filter/*");
registration.setName("testFilter");
registration.setOrder(1);
return registration;
}
}第二种:
通过@WebFilter 注解来配置
@Component
@WebFilter(urlPatterns = "/filter/*", filterName = "myTestFilter")
@Slf4
public class MyTestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
log.info("[ {} ] 创建啦...", this.getClass().getSimpleName());
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
log.info("[ {} ] 执行啦...", this.getClass().getSimpleName());
chain.doFilter(request, response);
}
@Override
public void destroy() {
log.info("[ {} ] 被摧毁啦...", this.getClass().getSimpleName());
}
}还需要在 SpringBootApplication 上使用@ServletComponentScan
注解后
Servlet可以直接通过@WebServlet注解自动注册
Filter可以直接通过@WebFilter注解自动注册
Listener可以直接通过@WebListener 注解自动注册
到此这篇关于Springboot实现过滤器的文章就介绍到这了,更多相关Springboot过滤器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot+dynamicDataSource动态添加切换数据源方式
这篇文章主要介绍了springboot+dynamicDataSource动态添加切换数据源方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
IDEA 2022最新激活码注册码超详细教程(亲测激活有效)
这篇文章主要介绍了IDEA 2022最新激活码超详细教程(亲测激活至2099年),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-12-12
Java图形化界面设计之布局管理器之BorderLayout案例详解
这篇文章主要介绍了Java图形化界面设计之布局管理器之BorderLayout案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08
SpringBoot整合JWT(JSON Web Token)生成token与验证的流程及示例
JSON Web Token(JWT)是一种开放的标准(RFC 7519),定义了一种紧凑的、自包含的方式来安全地在各方之间传输信息作为JSON对象,这篇文章主要给大家介绍了关于SpringBoot整合JWT(JSON Web Token)生成token与验证的相关资料,需要的朋友可以参考下2024-07-07


最新评论