过滤链FilterChain,请求与响应--chain.doFilter()代码前后_weixin_30682127的博客-程序员宅基地

技术标签: web.xml  

转:http://blog.csdn.net/zuoluoboy/article/details/24466503

 

Filter程序实现了doFilter()方法,实现该方法就可实现对用户请求进行预处理,也可实现对服务器响应进行后处理——它们的分界线为是否调用了chain.doFilter(),执行该方法之前,即对用户请求进行预处理;执行该方法之后,即对服务器响应进行后处理。

 

两个过滤器,EncodingFilter负责设置编码,SecurityFilter负责控制权限,服务器会按照web.xml中过滤器定义的先后循序组装成一条链,然后一次执行其中的doFilter()方法。执行的顺序就如下图所示,执行第一个过滤器的chain.doFilter()之前的代码,第二个过滤器的chain.doFilter()之前的代码,请求的资源,第二个过滤器的chain.doFilter()之后的代码,第一个过滤器的chain.doFilter()之后的代码,最后返回响应。

 

由此可见,chain.doFilter()方法跟filter执行的先后顺序没关。

转载于:https://www.cnblogs.com/tvxqpurpleline/p/5150982.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30682127/article/details/99341542

智能推荐

HTML制作手风琴效果,纯js和纯css+html制作的手风琴的效果_慕容圆月的博客-程序员宅基地

一:纯css+html的手风琴效果这种用css写的手风琴比较简单,主要是应用到css中的,transition属性。代码如下:body{background:url(‘bg.gif‘) repeat;}ul,li,p{margin:0px;padding:0px;list-style:none;}#div{width:1180px;height:405px;border:5px solid #cc...

jdbc连接mysql数据库的优点_加载数据库驱动的3种方式及优缺点比较_weixin_39804629的博客-程序员宅基地

在使用JDBC连接数据库之前,必须首先加载响应的数据库驱动程序,如连接MySQL数据库,就需要首先加载“com.mysql.jdbc.Driver”驱动程序。3种加载JDBC驱动的方法方法1Class.forName("com.mysql.jdbc.Driver")方法2System.setProperty("jdbc.driver","com.mysql.jdbc.Driver",2);方法3S...

使用fileupload组件完成文件上传_HHRunning的博客-程序员宅基地

// 使用fileupload组件完成文件上传 // 上传的位置 String path = request.getSession().getServletContext().getRealPath("/uploads/"); // 判断,该路径是否存在 File file = new File(path); if...

关于机器学习模型的可解释性算法_既是张大牙更是张大侠的博客-程序员宅基地

目前很多机器学习模型可以做出非常好的预测,但并不能很好的解释他们是如何进行预测的。这样就很难知道为什么算法会得到这样的预测结果。下面有几种可以提高机器学习模型的可解释技术。本文参考了datawhale的文章杰少 DatawhalePartial Dependence Plot (PDP)部分依赖图显示了一个或两个特征对ML模型预测结果的边际影响。部分依赖图可以显示目标和特征之间的关系是线性的、单调的还是更复杂的x轴表示特征的值,y轴表示预测值。PDP的实线显示了平均预测如何随着值的变化而变化

Barcode Xpress下载介绍_啊飞啊飞飞飞飞的博客-程序员宅基地

Barcode Xpress是一款优秀的、高速的1D和2D条码生成、检测、识别控件,可以把条码放置在页面任何位置,支持Code 39 和128,UPC, EAN,4-state postal codes等一维条码和DataMatrix, QR Code, PDF417, Aztec二维条码具体功能:支持彩色条码,可以从24位彩色和8位灰色图像中读支持放置条码在页面任何位置和任何方向

西部世界IPFS科普:什么是非对称加密?_通往未来的道路的博客-程序员宅基地

西部世界发现,在《想要安全地保管资产,先要知道钱包的这些知识》中,我们可以了解到在区块链的这些钱包中,公钥可以比作是银行账户,而账户地址类似于银行卡号,私钥可以被看成银行卡号以及银行卡密码的组合。这样一类比似乎对区块链中的私钥、公钥、地址这些名词有了比较清晰的认识,但是其实在这些名词的背后的理论支撑是非对称加密技术,它是什么样的技术呢,今天大白就给大家科普一下。一、对称加密是什么?首先,在讲非对称加密之前,先简单讲一下对称加密。对称加密也叫做单密钥加密,西部世界IPFS矿机加Mariobtc,指的是

随便推点

struts1学习笔记(1.5)_alucardism的博客-程序员宅基地

之所以叫它1.5是因为,之前完成第一部分的学习并做笔记之后(虽然实验没有跑通),有天晚上在安装了某银行的网银助手后,我的WIN10再也无法进入系统了。这让我对WIN10是否现在就适合开发产生了更大的怀疑。于是拿出了以前的老机器,XP SP2怀旧一下。当天就把系统恢复了,并且从新分区。发现还是很好用的。只不过CPU,内存都是10年前的配置,一边上网,一边看视频,一边下载恐怕编译程序是没戏了。

dg oracle 切换模式_DG BROKER模式下关闭Data Guard传输以及打开DG的步骤_铁匠qwer的博客-程序员宅基地

DG BROKER关闭DG以及打开DG步骤1.进入dgmgrl管理[email protected]:~> dgmgrl /DGMGRL for Linux: Version 11.2.0.4.0 - 64bit ProductionCopyright (c) 2000, 2009, Oracle. All rights reserved.Welcome to DGMGRL, type "help...

miniconda3/bin/conda: No such file or directory_weixin_45577338的博客-程序员宅基地

项目场景: 安装miniconda3问题描述:-bash: /home/christine/miniconda3/bin/conda: No such file or directory原因分析:提示:这里填写问题的分析:例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message

涂抹mysql 解压密码,使用mysqladmin命令来修改mysql的root密码_钟凌霄的博客-程序员宅基地

一般mysql的root默认密码为空,如果你之前并没有设置过root密码就使用mysqladmin命令,你可以使用如下mysqladmin命令来修改root密码#mysqladmin-uroot-ppassword123456Enterpassword:******//输入新密码#mysql-uroot-p123456//可以登录如上所述使用mysqladmin第一次修...

java开发环境搭建(三)Git + SourceTree 破解_呱小飞的博客-程序员宅基地

GIt:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。git工作流程:一般工作流程如下:克隆 Git 资源作为工作目...

推荐文章

热门文章

相关标签