转自:

SpringBoot中如何配置使用过滤器(Filter)呢?

下文笔者讲述springboot中配置过滤器的方法分享,如下所示

实现思路:1.定义filter2.将filter注册进springBoot的容器中即可

例:

定义实现Filter接口

package com.java265.filter;import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class MySelfFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest  request = (HttpServletRequest)servletRequest;HttpServletResponse response  = (HttpServletResponse) servletResponse;response.addHeader("Access-Control-Allow-Origin","http://localhost:7001");// * 允许所有域名跨域访问response.addHeader("Access-Control-Allow-Methods","GET");// * 允许所有请求方法// 是否让请求通过过滤器。这行代码不能漏掉。如果漏掉请求会访问不到URLfilterChain.doFilter(request,response);}@Overridepublic void destroy() {}
}

注册Filter到springboot中

package com.java265;import com.java265.filter.MySelfFilter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ImportResource;@SpringBootApplication
@ImportResource({ "classpath:applicationContext.xml" })
public class StudySpringBootApplication {public static void main(String[] args) throws  Exception {SpringApplication.run(StudySpringBootApplication.class, args);}@Beanpublic FilterRegistrationBean registFilter(){FilterRegistrationBean bean = new FilterRegistrationBean();// 定义filter的过滤路径规则。bean.addUrlPatterns("/*");bean.setFilter(new MySelfFilter());return bean;}
}

SpringBoot中如何配置使用过滤器(Filter)呢?相关推荐

  1. springboot中@Configuration配置类加载流程

    springboot中@Configuration配置类加载流程 代码位置 源码解读 每一步的分析 代码位置 ConfigurationClassParser#doProcessConfigurati ...

  2. SpringBoot中Profile配置和加载配置文件

    文章目录 一.多Profile的资源文件 二.profile激活 1.配置文件方式激活profile 2.命令行方式激活profile 三.@profile使用 写在前面: 我是「境里婆娑」.我还是从 ...

  3. SpringBoot中yaml配置

    yaml是一种可读性高,用来表示数据序列化的格式.在SpringBoot中也可以使用properties,但是推荐使用yaml. 在SpringBoot中使用一种全局的配置文件,其名称是固定的为app ...

  4. 数据源(DataSource)是什么以及SpringBoot中数据源配置

    数据源 数据源,简单理解为数据源头,提供了应用程序所需要数据的位置.数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等.其中数据源定义了位置信息,用户验证信息和交互时所需 ...

  5. SpringBoot 中实现配置和使用定时器_张童瑶的博客

    简单两步,实现在spring boot中配置和使用定时器: 1.在入口类中加入@EnableScheduling注解(即springboot启动类添加注解@EnableScheduling): @Sp ...

  6. Mybatis在Spring-boot中自动配置的底层源码分析

    前言:在Spring-boot结合Mybatis,我们只需要配置一些数据库连接的基本信息,写好Mapper和Dto就可以跑起来了.但是它是如何帮我们完成自动配置,并且执行我们的sql语句的呢?我们一起 ...

  7. springboot中radis配置和使用【进阶二】

    1.yml文件配置 #redis哨兵模式配置 redis: namespace: xxx:xxx:redis connection: cacheRedis: database: 0 timeout: ...

  8. SpringBoot中Tomcat配置(学习SpringBoot实战)

    1.Tomcat配置 Spring Boot默认内嵌的Tomcat为Servlet容器,所以本节只讲对Tomcat配置,其实本节的配置对Tomcat.Jetty和Undertow都是通用的. 1.1 ...

  9. SpringBoot中mybatis配置多数据源

    首先需要创建多个数据库 简单的user表 CREATE TABLE `user` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAU ...

最新文章

  1. Python实现:开始日期 + 间隔天数,依次输入所有日期
  2. 使用LS2J技术在LotusScript中使用Java
  3. 算法设计与分析——递归与分治策略——快速排序
  4. VB.NET在线升级程序源代码,可以独立使用
  5. fft matlab 区别,Matlab中fft与fwelch有什么区别?如何用fft求功率谱?
  6. Struts2 回顾总结
  7. angular input_更快的Angular应用程序
  8. 如何在不确定经济形势下把握好企业脉搏
  9. 为什么要有事件循环机制(Event Loop)
  10. python凯撒加密带大小写_python实现凯撒加密
  11. cad计算机画图标准,CAD高级绘图员鉴定标准
  12. UltraCompare 乱码的解决
  13. 密度计算机公式,密度浓度换算公式(浓度和密度的换算关系)
  14. 一个屌丝程序猿的人生(八十八)
  15. BMI值(Body Mass Index,简称BMI),是指身高体重指数,是国际上常用的衡量人体肥胖程度和是否健康的重要标准,BMI的计算公式是:体重指数(BMI)=体重(kg)÷身高2(m)。
  16. windows下配置公私钥
  17. drop、delete、truncate比较
  18. ROS12机器人操作系统免安装在线自主学习平台简介和官方第三方教程列表
  19. 交通预见未来(1):循环神经网络之LSTM,不只有七秒钟的记忆
  20. sql(集合,行专列,上下级)

热门文章

  1. Windows10系统提速优化
  2. HTTP 304: Not Modified
  3. Mac OS X Lion安装MacPorts(让你在Mac的Shell下更加游刃有余)
  4. 软件工程导论期末考点总结
  5. ARM CORTEX-M3简介
  6. KindEditor 详细介绍
  7. JAVA美食小屋系统(JAVA毕业设计)
  8. 很黄很暴力的图片搜索引擎
  9. 2019-CCPC-秦皇岛站-I题-Problem I. Invoker(DP)
  10. 编译原理课程设计-对pl0语言进行扩充