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文件过滤
最新文章
- 解决:Win 10 + Mint 18双系统时间不同步,更换系统启动项顺序
- Tengine 常用模块使用介绍
- js日历插件 中文、英文日历
- C#中==与Equals的区别
- BZOJ1502: [NOI2005]月下柠檬树
- 基于jquery左侧带选项卡切换的焦点图
- 无法关闭的QT程序(覆盖closeEvent,新建QProcess并脱离关系)
- <;Programming Collective Intelligence>; Chapter2:Making Recommendations
- Docker到底是什么
- 【转】用systemJS+karma+Jasmine+babel环境去编写简单的ES6工程
- JavaScript入门学习笔记(二)
- 微信小程序--家庭记账本开发--02
- 转载:Practical UML&trade;: A Hands-On Introduction for Developers
- [CC-SEAPERM2]Sereja and Permutations
- linux 学习之路(学linux必看)
- ubuntu 下 mysql数据库的搭建 及 数据迁移
- 工具-github在linux下面没有git push报错
- 《ASP.NET MVC4 WEB编程》学习笔记------乐观锁和悲观锁
- .NET c# 新特性
- 指针和动态分配内存 (不定长度数组)------新标准c++程序设计
热门文章
- String,StringBuffer,StringBuilder源码分析
- session再次理解
- iOS集成百度地图方法步骤
- Odoo(OpenERP)开发实践:通过XML-RPC接口訪问Odoo数据库
- 自己定义ImageView,实现点击之后算出点击的是身体的哪个部位
- ubuntu环境准备
- Python3 与 C# 面向对象之~继承与多态 Python3 与 C# 面向对象之~封装 Python3 与 NetCore 基础语法对比(Function专栏) [C#]C#时间日期操作 [C#]C#中字符串的操作 [ASP.NET]NTKO插件使用常见问题 我对C#的认知。
- website link
- pandas-数据分析
- React项目结构