版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三部分(续)第三部分(续)Filter开发开发内容:内容: (1)Filter的定义和作用的定义和作用 (2)配置)配置Filter (3)Filter的生命周期,的生命周期, (4)一些常用的)一些常用的Filter,如非法文字过滤器、字符编码,如非法文字过滤器、字符编码过滤器以及过滤器以及登录验证过滤器。登录验证过滤器。目标:目标:l 熟练掌握如何定义并配置熟练掌握如何定义并配置Filterl 理解理解Filter的生命周期的生命周期l 熟练掌握如何添加非法文字过滤器熟练掌握如何添加非法文字过滤器l 熟练掌握如何添加字符编码过滤器熟练掌握如何添加字符编码过滤器l 熟练掌握如何添加登录验证
2、过滤器熟练掌握如何添加登录验证过滤器11.1.1 Filter简介简介Filter的中文译名为过滤器过滤器。从字面名称就可以看出来Filter是用来进行过滤的。借助于过滤器可以实现如下功能。(1)过滤非法文字和信息。)过滤非法文字和信息。(2)设置统一字符编码。)设置统一字符编码。(3)对用户进行登录验证。)对用户进行登录验证。(4)改变图片文件格式。)改变图片文件格式。(5)对相应做压缩处理。)对相应做压缩处理。(6)对)对XML的输出使用的输出使用XSLT来进行转换。来进行转换。 在Servlet 2.3之后,如果要添加Filter只需在web.xml中配置相关设定即可。可以非常方便的为W
3、eb项目添加新的Filter和修改现有的Filter,而不需要修改原有的Servlet、JSP以及其他静态页面文件。11.1.2 第一个第一个Filter程序程序 Filter同同Servlet类似同样也是一个类似同样也是一个Java类类,所以其添加,所以其添加方式和普通的方式和普通的Java类完全相同。类完全相同。自定义的自定义的Filter类必须实现类必须实现Filter接口,还必须实现接口,还必须实现Filter接口中定义的接口中定义的init()方法、方法、doFilter()方法和方法和destroy()方法方法。 其中其中init()方法和方法和destroy()方法分别用来初始化
4、和销毁时方法分别用来初始化和销毁时调用。调用。doFilter()方法用来实现过滤,所有的处理代码都放置方法用来实现过滤,所有的处理代码都放置在该方法中。在该方法中。 doFilter()方法接受三个参数,分别是方法接受三个参数,分别是request、response和和chain。其中其中request和和response用来传递给下用来传递给下一个一个Filter(如果有多个(如果有多个Filter)或者)或者JSP和和Servlet。chain则通过调用其则通过调用其doFilter方法来调用下一个方法来调用下一个Filter,获得调用原,获得调用原始的始的JSP或者或者Servlet等
5、其他内容。等其他内容。示例代码 FirstFilter.java11.1.3 Filter生命周期生命周期 Filter同同Servlet类似也具有生命周期。类似也具有生命周期。Filter从生成到销毁从生成到销毁必须进过如下几个步骤。必须进过如下几个步骤。(1)生成)生成Filter,并通过调用其,并通过调用其init()方法来进行初始化。方法来进行初始化。(2)过滤用户请求,调用其)过滤用户请求,调用其doFilter()方法。方法。(3)调用)调用destroy()方法进行销毁,并通过垃圾收集器进行收方法进行销毁,并通过垃圾收集器进行收集清理。集清理。注意:注意:信息在服务器中显示,不会
6、出现在网页中,随着服务器启动信息在服务器中显示,不会出现在网页中,随着服务器启动filter服务,如果用户的请求同服务,如果用户的请求同中的目录相同,中的目录相同,就会被过滤就会被过滤示例代码 MyFilter.java11.2 常用常用Filter 本节将介绍一些常用的Filter,如非法文字过滤器、字符编码过滤器、登录验证器。 11.2.1 非法文字过滤器非法文字过滤器 实现非法文字过滤器非常简单,首先通过Filter类中doFilter()方法的request参数来获得客户端的输入。然后通过对输出的文字进行判断并进行处理,如替换该非法文字或者提示输出非法文字要求重新输出等等。最后通过ch
7、ain的doFilter方法来调用下一个Filter,获得调用原始的JSP或者Servlet等其他内容。示例代码 CharFilter.java11.2.2 字符编码过滤器字符编码过滤器 可以通过可以通过Filter来定义一个字符编码过滤器,这时就不需要来定义一个字符编码过滤器,这时就不需要在每个在每个JSP页面中添加设置参数字符编码格式代码了。页面中添加设置参数字符编码格式代码了。示例代码 CharacterFilter.java11.2.3 登录验证过滤器登录验证过滤器 可以通过可以通过Filter来定义一个登录验证过滤器,这时就不需要来定义一个登录验证过滤器,这时就不需要在每个在每个JSP页面中添加判断用户合法性代码了。页面中添加判断用户合法性代码了。示例代码 LoginFilter.java11.3 综合练习综合练习 下面来创建一个下面来创建一个IP过滤过滤Filter。当一个用户发出访问请求的。当一个用户发出访问请求的时候,首先通过过滤器进行判断,如果用户的时候,首先通过过滤器进行判断,如果用户的IP地址被限制,地址被限制,就禁止访问,只有合法的就禁止访问,只有合法的IP才可以继续访问才可以继续访问。11.4 小结小结 过滤器是Java Web开发中的一个重点,一些常用的框架,如Stru
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年行政服务协议范本下载:详尽条款版版B版
- 2024年股权担保合同
- 2024年高档会所食堂牛羊肉定制采购配送合同3篇
- 2024年跨境电子商务平台建设标前协议书
- 2024年规范化幼儿园租赁协议样本版B版
- 2024年质押借款合同正式样本
- 2024年电影业演员劳务协议示例版B版
- 2024年食品生产加工合作协议
- 2024建筑施工合同标的及工程进度安排
- 2024环保技术研发与污染治理服务合同
- 原油储罐cow全自动机械清洗方案
- 单层钢结构工业厂房纵向定位轴线的定位
- STEP7v5.6安装与授权说明-s75.6秘匙安装
- 粉体工程第六章粉碎过程及设备
- 洪水计算(推理公式法)
- ap系列火焰光度计说明书
- GMW系列往复式给料机说明书
- 集装箱码头堆场项目可行性研究报告写作范文
- 食堂成本核算方案
- 医保药店一体化信息管理系统操作手册
- 一般塑胶产品成品生产工艺流程图
评论
0/150
提交评论