springboot 过滤器配置
过滤器是什么?
它是基于Servlet 技术实现的, 简单的来说,过滤器就是起到过滤的作用,在web项目开发中帮我们过滤一些指定的 url做一些特殊的处理。 过滤器主要做什么?
过滤掉一些不需要的东西,例如一些错误的请求、修改请求和相应的内容(以此为案例)、拿来过滤未登录用户。
1.创建一个MyFilter.java实现Filter接口
MyFilter文件代码如下
import org.springframework.context.annotation.Configuration;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class MyFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletResponse resp = (HttpServletResponse) response;HttpServletRequest res = (HttpServletRequest) request;System.out.println("当前过滤到的路径:"+res.getRequestURI());/*** 这是的代码是为了前后分离 允许跨域*/resp.setHeader("Access-Control-Allow-Origin","*");resp.setHeader("Access-Control-Allow-Credentials", "true");resp.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");resp.setHeader("Access-Control-Max-Age", "3600");resp.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");chain.doFilter(request, response); //放行// request.getRequestDispatcher("/api/open/unLogin").forward(request,response); //重定向}}
2. FilterRegistrationBean 实现
创建 FilterConfig文件
FilterConfig文件代码如下:
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import xyz.ark.backstage_12.filter.MyFilter;import java.util.ArrayList;
import java.util.List;@Configuration
public class FilterConfig {@Beanpublic MyFilter myFilter(){return new MyFilter();}@Beanpublic FilterRegistrationBean filterRegistrationBean(){FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();//设置过滤器filterRegistrationBean.setFilter(myFilter()); //设置过滤器名称filterRegistrationBean.setName("header"); //设置名称List list = new ArrayList();list.add("/*"); //拦截路径filterRegistrationBean.setUrlPatterns(list);filterRegistrationBean.setOrder(1); //设置访问优先级 值越小越高return filterRegistrationBean;}}
springboot 过滤器配置相关推荐
- SpringBoot:过滤器配置详解
一.过滤器简介 1.过滤器是什么? Filter也称之为过滤器,过滤器是对数据进行过滤,预处理.开发人员可以对客户端提交的数据进行过滤处理,比如敏感词,也可以对服务端返回的数据进行处理.还有就是可以验 ...
- springboot过滤器排除掉一些url_理解这9大内置过滤器,才算是精通Shiro
小Hub领读: 权限框架一般都是一堆过滤器.拦截器的组合运用,在shiro中,有多少个内置的过滤器你知道吗?在哪些场景用那些过滤器,这篇文章希望你能对shiro有个新的认识! 别忘了,点个 [在看] ...
- SpringBoot+Mybatis配置Druid多数据源
开篇之前,说一句题外话.多数据源和动态数据源的区别. 多数据源,一般用于对接多个业务上独立的数据库(可能异构数据库). 动态数据源,一般用于大型应用对数据切分. 配置参考 如何配置多数据源,网上教程一 ...
- SpringBoot | 自动配置原理
微信公众号:一个优秀的废人.如有问题,请后台留言,反正我也不会听. 前言 这个月过去两天了,这篇文章才跟大家见面,最近比较累,大家见谅下.下班后闲着无聊看了下 SpringBoot 中的自动配置,把我 ...
- 案例代码:springboot+shiro配置同一用户多设备登录最大会话数
另一链接: springboot+springsecurity配置登录后踢出前一个登录用户 1.自定义登陆过滤器类: /*** 登录帐号控制过滤器* */ public class KickoutSe ...
- SpringBoot的配置详解application
SpringBoot的配置文件application有两种文件格式,两种配置的内容是一致的,只是格式不一致. 1.application.properties 2.application.yml或者a ...
- creo配置文件config选项详解_5年资深架构师重点聚焦:SpringBoot的配置详解+内嵌Servlet容器
Spring Boot的配置详解 在本节中,我们将重点聚焦在Spring Boot的配置方面. 理解Spring Boot的自动配置 按照"约定大于配置"的原则,Spring Bo ...
- SpringBoot 自动配置原理
创建项目 通过Spring Initialize创建SpringBoot项目 而接下来要说的是关于配置文件的事情.关乎配置文件可以参考官方文档. 对于配置文件来说到底在配置文件里面可以进行配置那些内容 ...
- springboot 过滤器
springboot 过滤器 方式一 package com.springboot.stu.filter;import org.springframework.core.annotation.Orde ...
最新文章
- Node.js Promise.all 限制并发数量
- jQuery教程07-内容筛选选择器
- Windows下设置开机自启动的方式(手动/C++代码的形式)
- C语言中函数调用中静态变量的应用
- 使用Reaver破解开启了WPS功能的wifi密码(wpa/wpa2)
- 关于ATmega328P和ATmega328PB中16位定时器的使用
- 【Python】使用网络调试助手传输数据(UDP协议)
- layui表格中显示内容换行
- 英语单词 One 个人 5. 身体动作
- 计算机网络体系结构中协议和服务的差别,第3章 计算机网络体系结构及协议 -4-2...
- jcepolicy7.zip linux,HDP安全之集成kerberos/LDAP、ranger(knox自带LDAP)
- 模板编程:模板特例化以及特例化inline的做用
- 嵌入式Linux小项目之图片编解码播放器(6)
- 百度移动优化:关于移动端点击图片放大有多少人注意?
- djangoday18
- 计算机专业学自我分析,计算机专业学习自我鉴定(精选6篇)
- 喵哈哈村的打印机游戏(区间DP)
- 通达信MACD面积背离指标公式,思路来自于缠论背驰
- html中的空格怎么写,html中空格代码是什么?
- 惊艳!可视化的 js:动态图演示 - 事件循环 Event Loop
热门文章
- openmpi参数_MPI初学-安装及OpenMPI函数说明
- SQL Server数据库批量附加
- chrome扩展开发介绍和右键开发
- 一文读懂Mysql所有知识点
- 八皇后问题php,C++_C++实现八皇后问题的方法,本文实例展示了C++实现八皇后 - phpStudy...
- java重载(Overload)
- Object转Map的几个坑
- DJYOS技术特点:关键服务微秒级恢复
- centos6 安装bbr_centos7安装bbr开启加速
- 3、Go版本管理工具