servlet和JSP过滤器Filter
日期:2008年1月27日 作者: 查看:[大字体 中字体 小字体]-
或许,servlet API的2.3版本中最重要的一个新功能就是能够为servlet和JSP页面定义过滤器。过滤器提供了某些早期服务器所支持的非标准“servlet链接”的一种功能强大且标准的替代品。
过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:
l 以常规的方式调用资源(即,调用servlet或JSP页面)。
l 利用修改过的请求信息调用资源。
l 调用资源,但在发送响应到客户机前对其进行修改
l 阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。
过滤器提供了几个重要好处。
首先,它以一种模块化的或可重用的方式封装公共的行为。你有30个不同的serlvet或JSP页面,需要压缩它们的内容以减少下载时间吗?没问题:构造一个压缩过滤器(参阅第11节),然后将它应用到30个资源上即可。
其次,利用它能够将高级访问决策与表现代码相分离。这对于JSP特别有价值,其中一般希望将几乎整个页面集中在表现上,而不是集中在业务逻辑上。例如,希望阻塞来自某些站点的访问而不用修改各页面(这些页面受到访问限制)吗?没问题:建立一个访问限制过滤器(参阅第8节)并把它应用到想要限制访问的页面上即可。
最后,过滤器使你能够对许多不同的资源进行批量性的更改。你有许多现存资源,这些资源除了公司名要更改外其他的保持不变,能办到么?没问题:构造一个串替换过滤器(参阅第10节),只要合适就使用它。
但要注意,过滤器只在与servlet规范2.3版兼容的服务器上有作用。如果你的Web应用需要支持旧版服务器,就不能使用过滤器。
1. 建立基本过滤器
建立一个过滤器涉及下列五个步骤:
1)建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法包含主要的过滤代码(见第2步),init方法建立设置操作,而destroy方法进行清楚。
2)在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。
3)调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。
4)对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。
5)禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。
1.1 建立一个实现Filter接口的类
所有过滤器都必须实现Javax.servlet.Filter。这个接口包含三个方法,分别为doFilter、init和destroy。
l public void doFilter(ServletRequset request,
ServletResponse response,
FilterChain chain) - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 下一页
-
- servlet和JSP过滤器Filter 相关文章:
- ·女性外生殖器(图)
- ·路由器安全设置详解
- ·真三国无双3 最强武器 - 真三国无双4攻略秘籍 - 真三国无双4
- ·女性性器官--阴蒂(图)
- ·ZXDSL 531B 无线ADSL路由器
- ·宽带共享该怎样设置无线路由器
- ·Java编写的计算器程序及源代码(1)
- ·IE7浏览器下载免验证IE7简体中文版下载
- ·用C#写计算器程序
- ·C#编写的windows计算器-源代码
- servlet和JSP过滤器Filter 相关软件
- ·Storm Player 影音风暴播放器 V1.0.4
- ·疯狂机器3之新实验
- ·街机经典《三国志Ⅱ-赤壁之战》+街机模拟器
- ·MP3超强铃声转换器 V5.10
- ·《仙剑奇侠传3》修改器首发版
- ·麦克风混响效果器 V1.0 绿色版
- ·2345首页解除器 V1.0
- ·《仙剑奇侠传2》修改器
- ·反恐精英 CS 1.5 机器人补丁
- ·鼎点梦幻播放器 V4.0精简版
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:Nokia发布新的J2ME开发工具——Carbide.j 1.0
下一篇:开发工工具配置笔记——Jcreator(高亮度显示Struts类名)
精品推荐
热点TOP10
- ·Servlet简介
- ·Java编写的计算器程序及源代码(1)
- ·Java学生成绩管理系统源代码
- ·servlet和JSP过滤器Filter
- ·Struts+Spring+Hibernate实现上传下载
- ·Web2.0时代的核心应用:Ajax简介
- ·用Java实现音频播放
- ·Java Map 集合类简介
- ·你能过关吗?J2EE面试题集锦(附答案)
- ·在桌面应用中使用JAVA DB
- ·使用poi操作Excel的几点注意事项
- ·java网络五子棋的源代码
- ·SOAP协议初级指南
- ·J2ME游戏开发实例讲解
- ·候捷谈Java反射机制
- ·Java基础:三步学会Java Socket编程
- ·用java实现print screen,读取位图文件,将位图文件转化位jpeg格式并保存成文件输出!
- ·开源技术——体验Struts
- ·J2ME概述
- ·FreeMarker概述
特别推荐
- ·你能过关吗?J2EE面试题集锦(附答案)
- ·面向过程与面向对象的区别
- ·Tapestry入门
- ·候捷谈Java反射机制
- ·标准的web.xml
- ·Java异常处理的特殊情况
- ·SOAP协议初级指南
- ·Why Java can be used for games?
- ·用Java Socket制作广播信使程序
- ·J2ME游戏开发实例讲解
- ·用java实现print screen,读取位图文件,将位图文件转化位jpeg格式并保存成文件输出!
- ·[SNAP]实例讲解移动QQ在线平台
- ·0. Preface: Core Technologies
- ·一个简单实用的数据库操作框架
- ·开源技术——体验Struts
- ·Java资料:Swing中的事件处理详细资料
- ·Tomcat性能调整
- ·Java基础:三步学会Java Socket编程
- ·一种通用的输入校验方法和气球泡提示的实现(键盘用户界面模块)
- ·JBoss 4.0 简化了中间件的开发
