文档章节

对Filter的一些理解

whaon
 whaon
发布于 2013/03/08 15:19
字数 269
阅读 194
收藏 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

粉丝 47
博文 42
码字总数 38353
作品 0
厦门
程序员
私信 提问
POWER BI之DAX与SQL区别

前言: 这篇文章对于具有一点SQL查询基础人会十分容易理解,譬如:掌握SELECT,SUM,GROUP BY等。 注:此文不涉及到Filter Context(筛选上下文)的介绍。 正文: 对于对SQL有一定了解的人来...

DBAspace
2018/07/03
0
0
Lucene4.3开发之第六步之分神中期(六)

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

heroShane
2014/02/21
0
0
JAVA_web_filter

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

天呀鲁哇
2015/02/10
0
0
BitMap 的基本原理和实现

前言 文章是自己写了后先发到了公众号里,再转到了内部的KM。算是一个系列的学习笔记,一篇篇来。 本篇是大数据算法系列 第一篇《BitMap的原理和实现》,BitMap 的思想的和原理是很多算法的基...

大数据之路
2012/09/04
0
0
卷积神经网络工作原理研究 - 语义和特征

关于Filter的意义 本章节参照了zhihu.com的内容。所以我完整引用,不进行任何修改。版权归原作者所有 Paste_Image.png 你眼睛真实看到的图像其实是上图的下半部分。而后经过大脑的层层映射后...

中和软件技术推进
2017/04/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
52分钟前
3
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
59分钟前
1
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
1
0
大数据教程(11.8)Hive1.2.2简介&初体验

上一篇文章分析了Hive1.2.2的安装,本节博主将分享Hive的体验&Hive服务端和客户端的使用方法。 一、Hive与hadoop直接的关系 Hive利用HDFS存储数据,利用MapReduce查询数据。 二、Hive与传统数...

em_aaron
昨天
3
0
跟我学Spring Cloud(Finchley版)-15-Hystrix监控详解

Hystrix提供了监控Hystrix Command的能力,本节来详细探讨。 监控端点与数据 应用整合Hystrix,同时应用包含spring-boot-starter-actuator 依赖,就会存在一个/actuator/hystrix.stream 端点...

周立_ITMuch
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部