永发信息网

java过滤器中的FilterChain对象

答案:2  悬赏:70  手机版
解决时间 2021-02-06 21:12
过滤器的doFilter()里有三个参数,那FilterChain对象是哪里传过来的啊它是像request对象一样是JSP的隐藏对象吗 如果只有一个过滤器的话filterchain.doFilter()是执行要访问的页面吗
最佳答案
1、什么是过滤器?
与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。
2、过滤链FilterChain
两个过滤器,EncodingFilter负责设置编码,SecurityFilter负责控制权限,服务器会按照web.xml中过滤器定义的先后循序组装成一条链,然后一次执行其中的doFilter()方法。执行的顺序就如下图所示,执行第一个过滤器的chain.doFilter()之前的代码,第二个过滤器的chain.doFilter()之前的代码,请求的资源,第二个过滤器的chain.doFilter()之后的代码,第一个过滤器的chain.doFilter()之后的代码,最后返回响应。
3、过滤链的好处是,执行过程中任何时候都可以打断,只要不执行chain.doFilter()就不会再执行后面的过滤器和请求的内容。而在实际使用时,就要特别注意过滤链的执行顺序问题,像EncodingFilter就一定要放在所有Filter之前,这样才能确保在使用请求中的数据前设置正确的编码。
全部回答

从上图可以理解,filterchain是过滤器链,也就是说,当有多个过滤器要执行时,通过这个参数调用下一个过滤器。

filterchain是应用服务器的对象。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
美陶·磁砖怎么去啊,我要去那办事
功过状的意思是什么啊?知道的请说下!
用英语说一号门怎么写一号门
下列关于细胞膜的叙述正确的是A. 细胞膜表面
东乡达板烤箱厂康乐县直销点在哪里啊,我有事
46*589要怎么简便计算
那一种上海公交卡在淮安能用
西洋参片加菊花泡水喝能治啥病?
有没有觉得三十岁以上的男人留点胡子更好看
澳维丝卫浴(景县专卖店)地址有知道的么?有点
五输穴中以所出为A.井B.荣C.输D.经E.合ABCDE
不锈钢为什么不能被磁铁吸引
钜豪全国连锁旗舰NO.113地址在哪,我要去那里
请帮我查询天使多少笔画
我的笔记本是联想Y430P,开机的时候必须按一
推荐资讯
宝马3系 2008款 325i 2.5 手自一体 豪华运动
成都串串培训什么地方正宗?
樱花全自动麻将机地址在哪,我要去那里办事
50岁男人的情人有了孩子,他很想留住孩子,他
中国古代的“三吴”指的是?
丝分缕解的意思是什么啊?知道的请说下!
镇沅彝族哈尼族拉祜族自治县邮政局(人民路)地
朋友感谢你怎样回复的诗词
空调外机两个阀门都有什么作用,要开几个阀门
华泰保险专属代理大足五星店怎么去啊,有知道
含羞草的叶片受到碰触时会自然下垂,说明它BA
潍坊市奎文区梨园街道樱园社区居民委员会在哪
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?