servlet过滤器Filter(理论篇)
为了减少servlet容器在服务器端对信息的判断量,产生了servlet过滤器。
servlet过滤器是在java servlet规范2.3中定义的,他能够对servlet容器的请求和响应对象进行检查和修改,servlet过滤器本身不产生请求和响应对象,它只是提供过滤作用。
servlet过滤器能够在servlet被调用之前检查request对象,修改request header和request内容。
在servlet被调用之后检查request对象,修改request header和request内容。
servlet过滤器负责过滤的web组件可以是servlet、jsp或HTML文件
所有的servlet过滤器都必须实现javax.servlet.Filter接口,这个接口有三个过滤器类必须时间的方法。
init():可以读取web.xml文件servlet过滤器的初始化参数,在一启动服务器就开始执行
doFilter():执行过滤器操作
destory():释放servlet过滤器占用的资源
串行过滤器的工作流程,即多个Filter一次过滤
问题:
1.在servlet过滤器能否访问application范围内的共享数据?
可以的,因为servlet过滤器首先调用FilterConfig的getServletContext()方法,获取servletContext,再调用servletContext的getAttribute方法来获得application范围内的共享数据。
在web.xml中,配置
<Filter>
<init-param>
<param-name>hello</param-name>
<param-value>world</param-value>
</init-param>
</Filter>
2.servlet过滤器只能对servlet容器进行过滤?
不正确,servlet过滤器可以对servlet、jsp、html文件过滤
servlet过滤器Filter(理论篇)的更多相关文章
- JavaWeb学习篇之----Servlet过滤器Filter和监听器
首先来看一下Servlet的过滤器内容: 一.Servlet过滤器的概念: ************************************************************** ...
- Servlet过滤器Filter用法
1 Servlet 过滤器方法 过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类.javax.servlet.Filter 接口定义了三个方法:public void ...
- Servlet基础知识(四)——Servlet过滤器Filter
一.什么是过滤器: 政府大楼的安检保安,它既能对进入政府大楼的人员进行检查,只允许检查符合要求的进入:同时他也负责对出大楼的人进行检查,看他带出的东西是否符合要求. 同样的,Servlet中的过滤器既 ...
- Servlet 过滤器Filter
特点 1)Filter是依赖于Servlet容器,属于Servlet规范的一部分,在Servlet API中定义了三个接口类:Filter, FilterChain, FilterConfig. 2) ...
- Servlet过滤器Filter和监听器
一.Servlet过滤器的概念: *********************************************************************************** ...
- Servlet过滤器----Filter
JavaEE的Servlet规范描述了三种技术:Servlet,Filter,Listener (一)过滤器简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过F ...
- Servlet 过滤器 Filter
过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类.javax.servlet.Filter 接口定义了三个方法: 下面是对所有编码过滤器 package filter ...
- servlet过滤器Filter使用之DelegatingFilterProxy类
正常情况下,我们需要添加一个过滤器,需要实现javax.servlet.Filter接口,再在web.xml中配置filter,如下: package cc.eabour.webapp.securit ...
- Servlet过滤器和监听器
1,Servlet过滤器 <filter> <filter-name>charset</filter-name> <filter-class>org.g ...
随机推荐
- 解决.NET Core MVC 视图中的中文被html编码的问题
在 .net core mvc 视图输出 变量的时候 默认使用的是 UnicodeRanges.BasicLatin 进行的编码 所以 输出中文后在查看源码的时候是进过编码了的 . 解决方案 在 ...
- Div 浮动到另一个div之上
转自原文Div 浮动到另一个div之上 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <met ...
- 解决mac osx下pip安装ipython权限的问题
1 pip install ipython --user -U 下面是pip install gevent的错误提示, 又是 Operation not permitted … 1 2 3 4 5 ...
- iOS -- xxxViewController进行pop时直接crash进main.m,EXC_BAD_ACCESS(code=1,address=0x20)
今天在调试程序时,遇到了奇怪的错误.我从主页跳进(push)一个ViewController时一切正常,但是返回主页(pop)时却crash了,直接跳进了main.m(EXC_BAD_ACCESS(c ...
- 开始我的GL离屏渲染绑定[转]
地址: http://wiki.woodpecker.org.cn/moin/lilin/swig-glBmpContext 呵呵,有了第一次的经验,我们就要开始我们的GL离屏渲染的绑定了. 关 于O ...
- 转置卷积&&膨胀卷积
Convolution arithmetic tutorial theano Convolution arithmetric github 如何理解深度学习中的deconvolution networ ...
- EasyHook库系列使用教程之四钩子的启动与停止
此文的产生花费了大量时间对EasyHook进行深入了解同一时候參考了大量文档 先来简单比較一下EasyHook与Detour钩取后程序流程 Detours:钩取API函数后.产生两个地址,一个地址相应 ...
- cucumber 使用资料
1.cucumber reporting github:https://github.com/damianszczepanik/cucumber-reporting 配置:详细参考上述地址描述 a.添 ...
- WinKawaks使用技巧
1 关于载入游戏:把游戏的zip文件放到roms目录下.注意不要随意修改文件名!也不要让文件名有中文!例如:"[游戏roms][neogeo]mslugx.zip"改成" ...
- scala使用FunSpec进行单元测试报错
遇到比较奇怪的问题,mvn项目中的main函数可以正常运行,但是test阶段出错,报错信息如下: Exception in thread "main" java.lang.NoCl ...