【spring boot】FilterRegistrationBean介绍
2023-09-11 14:18:05 时间
原文地址:https://www.cnblogs.com/lodor/p/7568765.html
前言
以往的javaee配置过滤器是在web.xml中配置的,如下代码
<filter> <filter-name>TestFilter</filter-name> <filter-class>com.cppba.filter.TestFilter</filter-class> </filter> <filter-mapping> <filter-name>TestFilter</filter-name> <url-pattern>/*</url-pattern> <init-param> <param-name>paramName</param-name> <param-value>paramValue</param-value> </init-param> </filter-mapping>
而spring boot 是没有这个配置的,怎么办?
解决办法
定义一个自定义的过滤器,类似原来的模式
package com.cppba.filter; import javax.servlet.*; import java.io.IOException; public class TestFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("TestFilter"); } @Override public void destroy() { } }
主程序启动文件,增加
@Bean public FilterRegistrationBean testFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new TestFilter()); registration.addUrlPatterns("/*"); registration.addInitParameter("paramName", "paramValue"); registration.setName("testFilter"); registration.setOrder(1); return registration; }
总结:
Spring Boot针对Servlet、Filter等,有几种注册方法
- 使用
@WebFilter
、@WebServlet
、@WebListener
注解来标识类 - 使用
FilterRegistrationBean
、ServletRegistrationBean
来对Filter
、Servlet
进行自定义注册 - 使用
@Bean
来自动添加,添加后默认的过滤路径为/*
相关文章
- 使用Spring的AbstractRoutingDataSource实现多数据源切换
- Spring Boot 属性配置和使用
- spring-hadoop-samples
- spring boot模仿reponseBody注解,自定义注解,返回值加上元数据
- 【Spring Boot】Spring Boot之两种引入spring boot maven依赖的方式
- Spring Boot启动时数据库初始化spring.datasource(转)
- Spring-Boot-应用可视化监控
- WebFlux 集成 Thymeleaf 、 Mongodb 实践 - Spring Boot(六)
- Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase
- spring boot 之@JsonView 简单介绍
- [Spring boot] Configuring and Accessing a Data Source
- spring boot报错:Unable to start embedded Tomcat server 权限不够
- Spring/Spring MVC/Spring Boot自动装配机制介绍
- 让你的Spring Boot工程支持HTTP和HTTPS
- Spring component detection logic
- 深入理解Spring Redis的使用 (五)、常见问题汇总
- spring-java项目中连接redis数据库
- 10_Spring Boot 集成Dubbo + Mybatis + Redis
- Spring Boot 玩转 MinIO:轻松搭建分布式对象存储系统,提升数据管理效率
- 保护亿万数据安全,Spring有“声明式事务”绝招
- Spring Boot Java应用代码混淆介绍
- spring boot报FileSizeLimitExceededException异常的解决方法
- Spring Boot 动态数据源(多数据源自己主动切换)
- 【java】Spring Boot --spring boot项目整合xxl-job