文档章节

对Filter的一些理解

whaon
 whaon
发布于 2013/03/08 15:19
字数 269
阅读 215
收藏 1

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

tomcat启动后,会调用org.apache.catalina.util.LifecycleBase.start()方法,该方法又会调用org.apache.catalina.core.StandardContext.startInternal()方法,就是在该方法里,启动Listener和Filter,Listener的启动顺序和web.xml中配置的先后顺序一致,而Filter启动的顺序可能和在web.xml中配置的顺序不一致,但是执行doFilter方法时一定是一致的,这一点可以放心,初始化每个Filter时会先调用构造方法,紧接着调用init方法

当访问某个url地址时,org.apache.catalina.core.ApplicationFilterFactory会创建一个ApplicationFilterChain,在这个FilterChain中每次都会把和url匹配的Filter(严格的说,还需要请求方式匹配:REQUEST,FORWARD,INCLUDE等)放进去,也就是说每访问一个url,都会生成一个新的ApplicationFilterChain,然后重新增加相应的Filter

增加完Filter后,就会依次执行doFilter方法,然后执行servlet.service()方法,访问目标资源

其实无论什么web框架都逃脱不了Listener,Filter,Servlet这几个方面

Spring是用了Listener

SpringMVC是用了Servlet

SpringSecurity和struts是用了Filter

whaon

whaon

粉丝 49
博文 44
码字总数 38920
作品 0
厦门
程序员
私信 提问
加载中
请先登录后再评论。
springBoot2.X---过滤器,监听器,拦截器

过滤器,监听器,拦截器 一、画图理解 过滤器(filter),监听器(listener),拦截器(Interceptor)。 通过两幅图我们可以理解拦截器和过滤器的特点 1、过滤器   过滤器是在请求进入tomcat容...

osc_z72b6ak2
2019/01/23
16
0
ABP中的Filter(上)

  这个部分我打算用上下两个部分来将整个结构来讲完,在我们读ABP中的代码之后我们一直有一个疑问?在ABP中为什么要定义Interceptor和Filter,甚至这两者之间我们都能找到一些对应关系,比如...

osc_rhdix0z9
2019/02/26
1
0
php 数组高级函数

php 数组高级函数 数组高级函数 PHP 中数组的高级函数可以优雅地解决不少问题 可惜 php.net 上面的文档实在是云里雾里,要理解很久(至少对初学者) 不如直接举个非常直白的栗子 最本能的遍历...

echojson
2018/09/26
108
0
Lucene4.3开发之第六步之分神中期(六)

本篇要介绍的是关于过滤方面的知识,也就是Filter,如果了解Solr的朋友,肯定都会知道Solr里面fq这个参数,这个参数的作用其实就是lucene里面的过滤,对一些q参数查询的结果集,做过滤或者限...

heroShane
2014/02/21
116
0
JAVA_web_filter

什么是filter? filter 翻译为过滤器;在处理一个事物的时候进行提前处理一些事情; 什么时候用filter? 在client request service的时候对request做预处理; 在service response client的时...

天呀鲁哇
2015/02/10
142
0

没有更多内容

加载失败,请刷新页面

加载更多

插入,在PostgreSQL中重复更新吗? - Insert, on duplicate update in PostgreSQL?

问题: Several months ago I learned from an answer on Stack Overflow how to perform multiple updates at once in MySQL using the following syntax: 几个月前,我从关于堆栈溢出的答案......

技术盛宴
48分钟前
28
0
互联网的寒冬下各大一线互联网公司还在用SpringBoot这是为什么?

引言 现在各大技术社区 Spring Boot 的文章越来越多,Spring Boot 相关的图文、视频教程越来越多,使用 Spring Boot 的互联网公司也越来越多; Java 程序员现在出去面试, Spring Boot 已经成...

北柠Java
51分钟前
8
0
vue+elementui实现简易的列筛选功能实现。

一、简易效果图: 二、需求背景 大家都知道,后管类系统当中,有时一个列表可能有很多列需要展示,如下图所示,但是用户在使用系统的时候,往往会需要针对其中某几列进行数据提取,在展示列比...

一生懸命吧
54分钟前
60
0
批处理问题记录——数字实验bat

记录学习批处理时的问题 批处理为输入一个数字,如果大于等于一百,直接输出输入数字,如果小于一百会重复+1,直到100后输出。 问题是,如果不输入数字,直接空格的话,批处理会出错。 寻求一...

愤怒的乌老大
今天
6
0
算法题汇总

计算两个字符串中的最大的相同字符串

佳幂小煜
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部