首页 > 其他分享 >Spring Boot —— Filter 过滤器

Spring Boot —— Filter 过滤器

时间:2024-05-20 16:11:56浏览次数:14  
标签:Spring Boot Filter FilterRegistrationBean filterRegistrationBean 过滤器 servletRequ

目标

实现一个自定义过滤器,在所有请求进来时输出点儿信息

实现过滤器

实现一个自定义过滤器,在所有请求进行业务处理前,在控制台输出请求Id和请求Url

@Configuration
@EnableWebMvc
public class WebConfiguration {
    public static class MyFilter implements Filter {

        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            HttpServletRequest request = (HttpServletRequest) servletRequest;
            System.out.println(STR."RequestId: \{request.getRequestId()},请求方式:\{request.getRequestURI()}");
            filterChain.doFilter(servletRequest, servletResponse);
        }
    }
}

注册过滤器

@Configuration
public class FilterConfig {

    @Bean
    public FilterRegistrationBean<WebConfiguration.MyFilter> myFilterFilterRegistrationBean(){
        FilterRegistrationBean<WebConfiguration.MyFilter> filterRegistrationBean = new FilterRegistrationBean<>();
        filterRegistrationBean.setFilter(new WebConfiguration.MyFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.setName("myFilter");
        return filterRegistrationBean;
    }
}

标签:Spring,Boot,Filter,FilterRegistrationBean,filterRegistrationBean,过滤器,servletRequ
From: https://www.cnblogs.com/cinlap/p/18202157

相关文章

  • Spring Boot —— Cors 跨域
    原理实现WebMvcConfigurer接口代码publicclassCorsConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddCorsMappings(CorsRegistryregistry){registry//允许跨域访问的路径.addMapping("/**")......
  • Spring Boot —— 集成 Druid
    pom<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>${druid.version}</version></dependency>application-develop.yamlspring:datasour......
  • Spring Boot —— 集成 MyBatis-Plus
    项目基于SpringBoot3.2.5Pom需要注意的是,引用Mybatis-Plus依赖,无需手动引入Mybatis<!--https://mvnrepository.com/artifact/com.mysql/mysql-connector-j--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</......
  • Springboot Data Jdbc实体类json格式存储
    日常需求中有些需求需要在某字段存储json格式数据,例如日志审计接口传参数据等1.首先我们得保证数据库字段为text或者json2.设置读转换和写转换器importcom.fasterxml.jackson.databind.ObjectMapper;importorg.springframework.core.convert.converter.Converter;importo......
  • Spring是如何整合MyBatis将Mapper接口注册为Bean的原理
    一、接口生成bean定义1.首先MyBatis的Mapper接口核心是JDK动态代理2.Spring会排除接口,无法注册到IOC容器中3.MyBatis实现了BeanDefinitionRegistryPostProcessor可以动态注册BeanDefinition4.需要自定义扫描器(继承Spring内部扫描器ClassPathBeanDefinitionScan......
  • Spring Boot —— 集成 Springdoc
    pom<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-ui</artifactId><version>x.x.x</version></dependency><!--Springboot3使用--><!--https://mvnrepository.......
  • EasyUEFI、Bootice、Bcdedit和EfiVarCLI都是用于管理计算机启动项和UEFI设置的工具,但
    EasyUEFI、Bootice、Bcdedit和EfiVarCLI都是用于管理计算机启动项和UEFI设置的工具,但它们在功能和用途上有一些区别:EasyUEFI:EasyUEFI是一个用户友好的图形界面工具,主要用于管理UEFI引导项,在Windows操作系统下操作更加方便。EasyUEFI提供了添加、删除、编辑UEFI引导项的......
  • springBoot统一异常处理
    一、概述:  1.1.Spring在3.2版本增加了一个注解@ControllerAdvice,可以与@ExceptionHandler、@InitBinder、@ModelAttribute 等注解注解配套使用。简单的说,该注解可以把异常处理器应用到所有控制器,而不是单个控制器。借助该注解,我们可以实现:在独立的某个地方,比如单独一个类,定......
  • springboot配置热部署
    ​ springboot配置热部署在SpringBoot中配置热部署通常涉及到使用SpringBootDevTools依赖和配置应用服务器的热部署特性。以下是一个基本的配置步骤:一.pom.xml:在pom.xml中添加SpringBootDevTools依赖:<dependencies><!--其他依赖--><dependency>......
  • 46.Spring(AOP)学习整理
    SpringAOP面向切面编程它依旧是一种设计思想本质还是为了松散耦合先去分一个概念OOP面向对象编程实体及其属性行为AOP面向切面编程某个阶段或者步骤看下图解:代码业务的实现都是纵向而AOP切面实现为横向AOP的一些术语:连接点(Jointpoint):表示需要在程序中插入......