首页 > 其他分享 >Filter

Filter

时间:2023-05-26 18:56:06浏览次数:26  
标签:filter 顺序 请求 Filter 过滤 服务器


概述:
servlet2.3后增加的新功能,运行在服务器端的程序,
先与之相关的servlet或者jsp页面之前运行
作用:
过滤请求和响应
应用场景:
过滤一些特殊符号或者敏感词
统一编码
自动登录
声明周期:
filter也是一个单实例多线程的
在项目启动的时候,服务器创建filter的对象,调用init方法实现初始化操作
每当请求来的时候,服务器获取一个线程,执行dofilter方法,实现过滤的逻辑
当服务器移除filter的时候或者服务器正常关闭的时候,服务器调用destroy方法,实现销毁操作

Filter方法:
init(FilterConfig):初始化
doFilter(ServletReqeust req,ServletResponse resp,FilterChain chain):执行过滤的方法
destroy():销毁

FilterChain:过滤链:
多个Filter组合在一起时,称之为过滤链
过滤链的执行顺序:
当一个filter收到请求的时候,调用chain.doFilter才可以访问下一个匹配的filter,
若当前的filter是最后一个filter,调用chain.doFilter才能访问目标资源

web.xml文件存在时由filter-mapping的位置决定
使用注解时 ,由Filter的实现类的类名决定 : 自然顺序决定

顺序 :
配置文件 和注释 优先 配置文件
配置文件按<filter-mapping>顺序 进行拦截
注释 的化 按文件名字 顺序 来进行拦截

 


filter的url-pattern的配置:
完全匹配:以"/"开始 例如:/demo1 /demo2 /aa/bb/demo3
目录匹配:以"/"开始 以"*"结束 例如:/aa/* /*
后缀名匹配:以"*"开始 例如: *.jsp *.html


filter-mapping中的子标签:
servlet-name:指定具体过滤哪个servlet的


dispatcher:指定过滤哪种方式过来的请求:
重要 REQUEST:默认值,只过滤 从浏览器发送过来的请求
重要 FORWARD:只过滤转发过来的请求
INCLUDE:只过滤包含过来的请求
ERROR:只过滤错误过来的请求
ASYNC:异步请求

 

标签:filter,顺序,请求,Filter,过滤,服务器
From: https://www.cnblogs.com/ningbaoer/p/17435578.html

相关文章

  • Cookie Session 拦截器(Filter)
    1、Cookie1.1什么是CookieCookie是在浏览器访问Web服务器的某个资源时,由Web服务器在HTTP响应消息头中附带传送给浏览器的一小段数据。一旦Web浏览器保存了某个Cookie,那么它在以后每次访问该Web服务器时,都应在HTTP请求头中将这个Cookie回传给Web服务器。一个Cookie主要由......
  • mongodb--Filters具体用法
    在MongoDB中,Filter是用于过滤MongoDB文档的工具,常用于查询、更新和删除文档时指定查询条件。在Java驱动程序中,Filter接口定义了一系列过滤方法,例如eq、gt、lt等等,可以根据需要选择合适的过滤方法来创建过滤条件。......
  • cartographer重要模块——motion_filter
    运动滤波,间隔一段时间、一段距离和角度,对odometry的数据进行关键帧采样。absl::optional<MotionFilter>pose_graph_odometry_motion_filter;if(trajectory_options.has_pose_graph_odometry_motion_filter()){LOG(INFO)<<"Usingamotionfilterforaddingodom......
  • 【Java基础】Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)
    本篇主要说明在Java8及以上版本中,使用stream().filter()来过滤List对象,查找符合条件的集合。一、集合对象定义集合对象以学生类(Student)为例,有学生的基本信息,包括:姓名,性别,年龄,身高,生日几项。我的学生类代码如下:packagecom.iot.productmanual.controller;importio.swagger.annota......
  • Java Web三大组件之Filter过滤器
    JavaWeb三大组件(Servlet、Filter、Listener)1、Filter过滤器概念生活中的过滤器:净水器,空气净化器,大山里的土匪等JavaWeb中的过滤器:当浏览器访问服务器资源时,过滤器就会拦截浏览器发过来的请求,实现一些特别的功能作用:一般用于完成通用的操作,如登录验证,身份验证,统一字符编码和敏感字......
  • 记录一下springboot配置filter之后后端获取不到Authorization问题
    fitler中的添加headers是用逗号隔开的,如content-type,Authorization .......原先代码:res.addHeader("Access-Control-Allow-Headers","content-type");修改后:res.addHeader("Access-Control-Allow-Headers","content-type,Authorization");......
  • Revit二次开发实战04(元素搜集过滤器FilteredElementCollector)
    Revit二次开发实战 FilteredElementCollector元素搜集过滤器1、创建搜集器FilteredElementCollector(Document);搜集文档中所有元素;FilteredElementCollector(Document,List<ElementId>);在指定id集合中搜集;FilteredElementCollector(Document,ElementIdviewId);在......
  • 14-Filter&Listener&Ajax&Axios&JSON
    1,Filter1.1Filter概述Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。Servlet我们之前都已经学习过了,Filter和Listener我们今天都会进行学习。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有......
  • JavaWeb中Filter&Listener的神奇作用
    @[toc]1,Filter1.1Filter概述Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有的资源(servlet、jsp、html等)而在访问到这些资源之前可以使过滤器拦截来下,......
  • spring security授权过滤器FilterSecurityInterceptor学习
    目录一、springsecurity资源访问权限配置1.1使用ExpressionUrlAuthorizationConfigurer1.2使用UrlAuthorizationConfigurer二、FilterSecurityInterceptor的处理流程2.1ConfigAttribute的获取2.2决策管理器AccessDecisionManager2.3AccessDecisionVoter投票器三、FilterSec......