spring boot 过滤器 filter

Spring Boot Filter过滤器 实现登录 Spring Boot Filter过滤器 实现登录 Filter类 package com.citi.test; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.s... 阅读详情

一、在spring的应用中我们存在两种过滤的用法,一种是拦截器、另外一种当然是过滤器。我们这里介绍过滤器在springboot的用法,在springmvc中的用法基本上一样,只是配置上面有点区别。

二、filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chaining”(servlet 链).

一个Filter包括:
1)、在servlet被调用之前截获;
2)、在servlet被调用之前检查servlet request;
3)、根据需要修改request头和request数据;
4)、根据需要修改response头和response数据;
5)、在servlet被调用之后截获.

三、应用

@Component
@ServletComponentScan
@WebFilter(urlPatterns = "/login/*",filterName = "loginFilter")
public class LoginFilter implements Filter{

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

    }

    @Override
    public void destroy() {

    }
}

四、解释:

1、@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起作用

2、@ServletComponentScan 这个使用来扫描@WebFilter 的让@WebFilter起作用。当然对于servlet线管注解也是可以的。这个@ServletComponentScan最好卸载Apllication这个上面,通用配置。我这里因为只有一个Filter所以没有写在Application上面。

3、@WebFilter 这个用处显而易见,针对于什么链接做过滤,filter的名称是为什么。

五、简单介绍一下springmvc中的Filter的用法

1、写的方法还是一样的都是继承Filter,来实现3个方法处理

2、丢入容器:这个需要配置在web.xml里面

<filter>
        <filter-name>loginFilter</filter-name>
        <filter-class>com.troy.boot.filter.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>loginFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 项目实际配置:

@Component  
public class CorsFilter implements Filter {  
  
    
   //对请求头进行配置
   public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {  
        HttpServletResponse response = (HttpServletResponse) res;  
  
        HttpServletRequest reqs = (HttpServletRequest) req;  
  
        response.setHeader("Access-Control-Allow-Origin",reqs.getHeader("Origin"));  
        response.setHeader("Access-Control-Allow-Credentials", "true");  //允许cookies
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");  
        response.setHeader("Access-Control-Max-Age", "3600");  
        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");  
        
        if(reqs.getMethod().equals(RequestMethod.OPTIONS.name())) { 
        	response.setStatus(HttpStatus.OK.value()); 
        	return ; 
    	}

        chain.doFilter(req, res);  
    }  
    
    public void init(FilterConfig filterConfig) {
    }  
    
    public void destroy() {
        
    }  
}  

文章转载至:

1、springboot中filter的用法

2、走进SpringBoot之过滤器、监听器、拦截器

X电容与Y电容,看这一篇就够了 本文详细介绍了X电容与Y电容的定义、作用、位置、分类,以及它们在实际应用中的容值选取和计算方法。通过汽车电子应用和X电容放电电路的实例,帮助读者深入理解这两种安规电容的重要性。文章还探讨了电容放电电阻的计算,确保符合安全规范。 阅读详情

相关推荐

光学设计必知:Ansys Zemax中6种系统孔径类型的适用场景全解析

本文深入解析Ansys Zemax中6种系统孔径类型的适用场景,包括入瞳直径、像方空间F/#、物方空间NA等,帮助光学设计师精准控制光线选择和成像质量。通过实际案例和代码示例,详细讲解各孔径类型的计算原理、参数设置及在显微系统、激光扩束等场景中的优化策略,提升复杂光学系统设计效率。

weixin_29266007的博客 555

绝对好用的安全Filter(过滤SQL和XSS)

最近被安保测评搞得头疼,本来网站上有XSS处理,代码也是参考网络,结果发现不好使。此处呵呵了。。。。 一般情况下百度出来的结果都是不好用的例子,虽然代码还挺全面,就是拦不住你说气人不气人。 下面发一个经过我实际应用好使的XSS过滤器,帮大家节省时间 /** * 安全的Filter(过滤SQL和XSS) * * * <!-- 解决xss & sql漏洞 -...

傻根她弟 1654

亚马逊广告接口 amazon advertising

亚马逊广告接口官方说明:https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup 一:注册aws开发者账号 注册地址:https://developer.amazon.com 二:填写注册资料 三:进入控制台,生成安全配置文件 进入 Login with Amazon 菜单: 创建配置文件: 四:申请广告接入权限 申请地址:https://advertising.amazon.com/zh-cn/about-api

lzy66666的博客 4776

java中文过滤器以及安全过滤器

首先 建一个名为SetEncodingFilter的普通类,让其继承HttpServlet实现Filter类内容如下: /* ×中文过滤器 */public class SetEncodingFilter extends HttpServlet implements Filter { protected String encoding = null; protected boolean i

yjw3160的专栏 711

【CIC-IDS数据集+机器学习】实现网络流量异常检测

本项目基于CIC-IDS数据集,使用多种机器学习算法实现网络流量异常检测系统。项目采用了完整的机器学习工作流程,从数据预处理到模型部署,实现了高精度的网络入侵检测。

XiaoMu_001的博客 1936

手把手教你用ECharts打造炫酷3D饼图(附完整源码)

本文详细介绍了如何使用ECharts创建炫酷的3D饼图,从环境配置到完整源码实现,涵盖参数解析、视觉优化和交互增强技巧。通过实战案例,帮助开发者快速掌握3D数据可视化技术,提升数据展示效果。

weixin_29031057的博客 281

工具类 正则表达式工具类 FilterUtils

/** * 正则表达式 过滤工具类 * */ public class FilterUtils { /** * * @Title : filterNumber * @Type : FilterStr * @date : 2014年3月12日 下午7:23:03 * @Description : 过滤出数字 * @param n...

星海浮沉的成长路 406

自动驾驶仿真工具链集成:ECU TEST与VTD、VERISTAND的深度配置指南

本文详细介绍了自动驾驶仿真测试中ECU TEST、VTD与VERISTAND三大核心工具的深度集成与连接配置方法。通过解析工具链的角色分工,提供从单机到分布式部署的实战指南,并重点阐述了Test Bench Configuration与Test Configuration的关键参数设置、SSH免密登录配置,以及在线与离线工作模式的切换技巧,旨在帮助测试工程师高效构建稳定、自动化的硬件在环测试环境。

wind6的博客 791

Java使用过滤器防止XSS脚本注入

前几天有个客户在系统上面写了个注入html语句,导致打开页面就显示一张炒鸡大的图片,影响美观。后仔细想想,幸亏是注入的仅仅是一条html语句,知道严重性,马上开始一番安全配置。 一. 定义过滤器 package com.cn.unit.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; im

踮脚敲代码 6994

AI学习指南RAG篇(19)-API调用与集成

通过上述API调用示例,您可以方便地将RAGFlow与其他系统集成,实现数据集管理、文档处理、会话管理等功能。希望本文的介绍能帮助您更好地理解和使用RAGFlow的API。

俞兆鹏的博客 2548

[QMT量化交易小白入门]-六十九、ETF动量评分策略,历史年化收益率107%

C . bar_date } 跳过') returnC . bar_date } 跳过') returnC . bar_date } 跳过') return作用:如果当前不是回测模式且不是最后一根K线,则记录日志并跳过本次任务。这是为了避免在实时交易中对尚未完成的数据进行处理。

木头大左的博客 2233

关于在struts 框架中使用Filter过滤器解决汉字编码问题(转)

转自:http://blog.youkuaiyun.com/123xxx/archive/2005/01/27/270575.aspx 1.在web.xml最开始的地方加上对filter过滤器的声明,指明过滤器使用的类<filter...

164

【CC精品教程】iTwin capture倾斜摄影建模完整操作流程

【CC精品教程】iTwin capture倾斜摄影建模完整操作流程。包括:无人机航测外业作业流程(像控点布设、航线规划、仿地飞行、航拍)和内业数据处理软件(Pix4d、CC、EPS、PhotoScan、Globalmapper)像控点权重调配、空三加密、DOM、DSM、DEM,DLG生成、等高线生成、高程点提取,点云分类过滤分割、点云生成DEM、三维模型生成等。

智慧空间实验室 3964

spring boot 配置Filter过滤器方法总结

相关概念参考:AOP(面向切面编程)、Filter(过虑器)、Interceptor(拦截器)工作原理及代码参考:Java三大器之过滤器(Filter)的工作原理和代码演示spring boot 配置Filter过滤器1、通过注解来配置@Component @WebFilter(urlPatterns = "/webapi/*", filterName = "authFilter") public...

无知人生,记录点滴 7万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

5.Spring Boot添加Filter过滤器

添加过滤器 方便规范管理,我们直接在项目下新建filter文件夹,并创建类。此处名字就随意一点了。 创建自定义Filter 实现javax.servlet.Filter接口 重写doFilter方法。 添加@Component注解 @Slf4j @Component public class TestFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws Servle

u012708900的博客 584

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

学习spring boot-拦截器Interceptor,过滤器Filter

【代码】学习spring boot-拦截器Interceptor,过滤器Filter。

等什么君!的博客 826

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

spring boot实现过滤器Filter

访问时判断是否带token,如果不带token会被拦截,跳转到helloservlet 类 logout类 2 . 1 注解实现 2 . 1 .1 创建拦截类 2. 1 . 2 执行结果 2. 1 . 2 . 1 不带token 启动 浏览器访问 不带token被拦截到了,并且跳转到了 logou 下图是控制台输出 2. 1 . 2 . 2 带token 启动 浏览器访问 这里token 随意输入一串字符串即可 2 . 2 注解实现 2 . 2 .1 创建拦截类 和2.1.1中的拦

m0_57541942的博客 407

【Spring Boot系列】-Spring Boot过滤器Filter

Tomcat 的 servlet 包下的注解,通过@WebFilter注解可以将指定类声明为过滤器。@WebFilter 属性中没有配置顺序的,其执行顺序和 Filter 类名称字符排序有关,如果需要设置执行顺序,可以在命名的时候注意一下。创建过滤器有三种方法分别:过滤器Filter作用场景 1).防止未登录就进入界面 2). 控制应用编码 3) . 过滤敏感词汇等场景。

记录总结工作过往 3430

spring boot 配置Filter过滤器

Filter 过滤器是web开发中很重要的一个组件,下面以一个session登陆的例子介绍下spring boot中如何使用Filter 首先要准备一个实现了Filter的接口的类 SessionFilter:import org.slf4j.LoggerFactory;import javax.servlet.*; import javax.servlet.http.HttpServletRequ

小布的世界 7万+

java filter 获取bean,spring boot过滤器FilterRegistrationBean实现方式

有2种方式可以实现过滤器1:通过FilterRegistrationBean实例注册2:通过@WebFilter注解生效这里选择第一种,因为第二种不能设置过滤器之间的优先级为了演示优先级,这里创建2个测试过滤器类:Test1Filter、Test2Filter通过实现javax.servlet.Filter接口,覆盖其doFilter(ServletRequest arg0, ServletRes...

weixin_36239323的博客 940

spring boot 配置多个Filter过滤器

spring boot 配置多个Filter过滤器

Hanyinh的博客 1792

Spring Boot 中 Filter 过滤器详解

在 Java Web 开发中,Filter(过滤器)是 Servlet 规范提供的一种请求拦截机制。请求进入 Controller 之前响应返回客户端之前对 HTTP 请求和响应进行统一处理。简单理解:Filter 就像 Web 请求进入系统前的一道“门卫”,所有请求必须经过它检查,然后决定是否继续向后执行。客户端请求↓Filter↓↓Controller↓Service↓数据库↓响应返回↓Filter↓客户端↓| Filter || | |↓ ↓ ↓。

西凉的悲伤博客 281

Spring boot篇 配置Filter过滤器

传统的javaEE增加Filter是在web.xml中配置 <filter> <filter-name>TestFilter</filter-name> <filter-class>com.demo.filter.TestFilter</filter-class> </filter> <filter-map...

棉裤开档的博客 364

spring boot 配置Filter过滤器的两种方式

springboot 配置 自定的 过滤器需要将自定义的过滤配实现 javax.servlet.Filter接口 demo1:在自定义过滤器上添加组件注解 package com.dayu.filter; import org.springframework.context.annotation.ComponentScan; import org.springframework....

weixin_30362233的博客 137

Spring Boot 实现过滤器(Filter)三种常用方式

/ 拦截所有请求 /* @WebFilter(filterName = "MyFilter" , urlPatterns = "/*") public class MyFilter implements Filter {// 初始化(容器启动执行一次) @Override public void init(FilterConfig filterConfig) throws ServletException {System . out . println("过滤器初始化");

weixin_42148384的博客 545

Spring Boot 实战(二):Filter过滤器

文章目录概述2 实战2.1 版本声明2.2 目录展示2.3 创建controller类2.4 创建过滤器类2.5 配置Servlet注解扫描路径结果展示 概述 Filter是依赖于Servlet容器,属于Servlet规范的一部分,Filter的执行由Servlet容器回调完成,Filter的生命周期由Servlet容器管理。他实际的效果就是当请求来的时候经先做一些事情再到service,请求返回的时候也先做一些事情,最后返回给客户端。整体的流程大概是下边这个样子: 2 实战 2.1 版本声明 运行环境

Schudon 1099
上一篇: spring boot 拦截器WebMvcConfigurerAdapter作用,以及高版本的替换方案
下一篇: Scrapy 框架爬虫知识、爬虫实战教程
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值