文档章节

对Filter的一些理解

whaon
 whaon
发布于 2013/03/08 15:19
字数 269
阅读 190
收藏 1
点赞 0
评论 0

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

粉丝 43
博文 38
码字总数 33114
作品 0
厦门
程序员
POWER BI之DAX与SQL区别

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

DBAspace
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
卷积神经网络工作原理研究 - 语义和特征

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

中和软件技术推进
2017/04/10
0
0
BitMap 的基本原理和实现

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

大数据之路
2012/09/04
0
0
No.14 【大数据算法】BitMap的原理和实现

0x00 前言 本篇是大数据算法系列 第一篇《BitMap的原理和实现》,BitMap 的思想的和原理是很多算法的基础,因此我们以BitMap开篇。 既然是说大数据算法,我们先尝试给大数据算法一个定义,或...

dantezhao
2017/10/09
0
0
Python 进阶语法四 —— Map、Filter和Reduce

四、Map、Filter和Reduce Map、Filter和Reduce三个函数能为函数式编程提供便利。我们会通过实例一个一个讨论并理解它们。 Map Map会将一个函数映射到一个输入列表的所有元素上。这是它的规范...

东方神剑
2016/11/27
10
0
一文读懂卷积神经网络CNN(学习笔记)

首先文章的提纲为: CNN栗子镇楼 What is CNN 什么是卷积 什么是池化 Why CNN 对CNN的其他一些理解 CNN实现(接口) 1、CNN栗子(A Beginning Glimpse of CNN) Modern CNN since Yann LeCu...

技术小能手
01/02
0
0
用在数据科学上的 Python:你可能忘记的 8 个概念

雷锋网(公众号:雷锋网) AI 研习社按:本文为雷锋网字幕组编译的技术博客,原标题 Python for Data Science: 8 Concepts You May Have Forgotten,作者为 Conor Dewey。 翻译 | 庞有振、黄中...

雷锋字幕组
今天
0
0
Mina源码阅读笔记(七)—Mina的拦截器FilterChain

接上一篇《异步IO实现IoFuture》 Filter我们很熟悉,在Mina中,filter chain的用法也类似于Servlet的filters,这种拦截器的设计思想能够狠轻松的帮助我们实现对资源的统一处理。我们先大致连...

Gaischen
2012/11/27
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
14分钟前
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
35分钟前
0
0
HTTP协议通信原理

了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务。 HTTP使用...

寰宇01
57分钟前
0
0
【Java动态性】之反射机制

一、Java反射机制简介

谢余峰
58分钟前
1
0
Centos 6.X 部署环境搭建

1.Linux学习笔记CentOS 6.5(一)--CentOS 6.5安装过程

IT追寻者
今天
0
0
博客即同步至腾讯云+社区声明

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vy9bsmadbko...

xiaoge2016
今天
1
0
大数据教程(3.1):Linux系统搭建网络YUM源服务器

博主在前面的2.5章节讲述了linux系统本地YUM服务器的搭建和httpd轻量级静态网站服务器的安装,本节博主将为大家分享内网环境中搭建自己的网络YUM服务器的全过程。如果大家对本地YUM服务器还不...

em_aaron
今天
1
0
蚂蚁技术专家:一篇文章带你学习分布式事务

小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务...

Java大蜗牛
今天
1
0
新的Steam应用将拓展服务项目

导读 未来几周,Steam将推出两个免费的应用程序Steam Link和Steam Video。这两个应用程序都旨在拓展Steam平台的业务和便利性。 即将开放的Steam Link应用程序最先提供了Android测试版,它将允...

问题终结者
今天
0
0
golang 第三方包的使用总结

golang 第三方包的安装的方法: 1. go get 安装 $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时...

科陆李明
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部