Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程
目标
编写一个过滤器
部署一个过滤器
了解请求和响应包装器
在请求分发器下的过滤器
知识点预览
过滤器
过滤器
1. 什么是过滤器
a) 过滤器处于请求与请求的资源之间
i. 资源可以是一个servlet
JSP页面 HTML等.
ii. 他们在请求资源前后执行
iii. 请求/响应可能在传递前后被修改
iv. 过滤器可能作为链的一部分执行
v. 可以使用过滤器器以提供:会话管理、日志记录、安全、编码、XML转换
2. 在J2EE网络程序中的过滤器
3. 通过过滤器调用路径资源
4. 网络层过滤器对象交互图
5. 过滤器开发步骤
a) 第一步:编写过滤器类
b) 第二步:编写测试页面
c) 第三步:编译和部署过滤器
d) 第四步:配置运行目录
e) 第五步:运行
6. 编写过滤器
a) 实现javax.servlet.Filter接口
i. init(javax.servlet.FilterConfig config)
ii. doFilter(javax.servlet.ServletRequest res, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain)
iii. destroy()
iv. chain.doFilter(javax.servlet.ServletRequest res, javax.servlet.ServletResponse res)
7. 过滤器生命周期
8. 类图
9. HelloFilter代码框架
10. 初始化方法
11. doFilter()方法
12. 过滤器执行流程
13. 过滤器配置
a) 在布署描述符中配置过滤器-web.xml
i. <filter>标签
1. <filter-name>
2. <filter-class>
3. <init-param>
a) <param-name>
b) <param-value>
14. HelloFilter 配置
15. 配置使用过滤器的位置
a) 标签:
i. <url-pattern>
b) 实例:
i. <url-pattern>/*</url-pattern>
所有的地方都通过过滤器
ii. <url-pattern>/*.jsp</url-pattern>
只有jsp页面通过过滤器
iii. <url-pattern>/文件夹名/*</url-pattern>
只有在某文件夹下的所有页面,才通过过滤器
iv. <url-pattern>/servlet/*</url-pattern>
与filter映射方式一致的servlet将通过过滤器
16. 拦截请求/响应
a) [Http]ServletRequestWrapper
Add添加额外的内容
b) [Http]ServletResponseWrapper
Set设置额外的请求属性
c) 过滤器可以包装请求和响应
d) 给我们能够改变一个请求数据的能力
改变内容类型
添加或删除请求的头信息
e) 包装响应可以获取和改变的响应内容
17. 实例—包装类
18. 实例—过滤器
a) public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq=(HttpServletRequest)request;
chain.doFilter(new MyRequestWrapper(httpReq), response);
}
19. 包装器
a) Request请求包装器将会重写getter()和setter()
b) Response响应包装器一般会重写getWriter()和getOutputStream()
i. 为被调用者写入提供自己的缓冲
ii. 然后能操作缓冲
c) 如果响应包装器提供自己的缓冲
i. 必须管理响应头信息以便调用方记得特别设置头信息长度
20. 在分发器下的过滤器
a) 分发器请求的4种方式
i. REQUEST
ii. INCLUDE
iii. FORWARD
iv. ERROR
b) 设定方法
<dispatcher>元素
21. 在分发器下的过滤器
过滤器回顾
过滤器的概念
编写和部署过滤器
包装器的概念
编写包装器
Filter请求分发器下的过滤器
分享到:
相关推荐
oracle内部培训资料——游标 实例代码,使用注意事项等
Oracle10g 培训——基础知识,适合初学者了解,
oracle数据库双机热备安装——裸设备.doc oracle数据库双机热备安装——裸设备.doc oracle数据库双机热备安装——裸设备.doc
很好的oracle 10g培训资料——管理第一部分:结构组件
Oracle SOA 套件——Oracle BPEL 流程管理器Oracle SOA 套件——Oracle BPEL 流程管理器
oracle系统培训课件——资料包(7个ppt).rar
Oracle数据库管理员培训教材——10g版本,学习初学oracle,oracle进阶等有很好的帮助,就是好!
Oracle工作总结——日志文件切换频率的调整 Oracle工作总结——日志文件切换频率的调整
oracle新手入门指导之四——ORACLE数据类型 .txtoracle新手入门指导之四——ORACLE数据类型 .txt
Oracle经典教程1——走进Oracle
oracle知识点总结.txt 个人对oracle的一些总结
Oracle 8基础——对服务器编程 对服务器编程对服务器编程对服务器编程对服务器编程对服务器编程
oracle新手入门指导之一——数据库表空间知识.txtoracle新手入门指导之一——数据库表空间知识.txt
Oracle知识点总结,适合初学者,平时多联系,放在手机上,当做电子书来看。
原书名:Oracle 9i Java Programming <br>Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案 <br>【原出版社】 Wrox Press 【作 者】Bjarki Holm,John Carnell等 【译 者】 康博 【丛 ...
很好的oracle 10培训资料——管理第二部分:管理实例
Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结。很不错的资源哦,希望大家可以喜欢!
很好的oracle 10g培训的资料,很精辟,这是SQL的第一部分
[Oracle Application Server 10g——J2ee部署和管理]源文件。
Oracle经典教程6——Oracle应用于.NET平台