- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Servlet过滤器能够对Servlet容器的请求和响应对象进行检查和修改。Servlet过滤器本身并不生成请求和响应对象,它只提供过滤作用。Servlet过滤器能够在调用请求的Servlet之前检查Request对象,修改Request Header和Request对象本身的内容;在Servlet被调用之后检查Response对象,修改Response Header和Response内容。Servlet过滤器可以过滤的资源可以是Servlet、JSP和HTML。Servlet过滤器的工作过程如图16-1所示。 16.1 Servlet过滤器简介 Servlet过滤器能够对Servlet容器的请求和响应对象进行检查和修改。Servlet过滤器本身并不生成请求和响应对象,它只提供过滤作用。 Servlet过滤器能够: 在调用请求的Servlet之前检查Request对象,修改Request Header和Request对象本身的内容; 在Servlet被调用之后检查Response对象,修改Response Header和Response内容。 Servlet过滤器可以过滤的资源可以是Servlet、JSP和HTML。Servlet过滤器的工作过程如图16-1所示。 Servlet过滤器的工作过程 16.1 Servlet过滤器简介 过滤器主要有以下作用: 以常规的方式调用资源; 在调用Servlet之前修改请求信息; 在调用Servlet之后修改响应信息 阻止资源调用,转到其它资源,返回一个特定的状态码或生成替换输出。 16.1 Servlet过滤器简介 过滤器主要有以下几方面应用: 权限检查:根据请求过滤非法用户; 记录日志:记录指定的日志信息; 解码:对非标准的请求解码; 解析XML:和XSLT结合生成HTML; 设置字符集:解决中文乱码问题。 Servlet过滤器用于拦截传入的请求和传出的响应,并监视、修改正通过的数据流。 过滤器是自包含的组件,可以在不影响web应用程序的情况下添加或删除他们。一个过滤器可以被关联任意多个资源,一个资源也可以被关联到任意多个过滤器,web资源和过滤器的关系如图16-2所示。 16.3.1 编写实现类 16.3.2 过滤器的配置 过滤器必须实现javax.servlet.Filter接口,这一接口声明了如下三个方法:init()、doFilter()和destroy()。它们作用如下 Init(FilterConfig config):这个方法是由容器调用进行初始化,它是在第一次访问时被执行的,并且只执行一次。通过这个方法可以获取在web.xml文件中指定的初始化参数。 doFilter(ServletRequest,ServletResponse,FilterChain):过滤器的自定义行为主要在这里完成,其中参数FilterChain对象提供了后续过滤器所要调用的信息。 destroy():在停止使用过滤器前,由容器调用过滤器的这个方法,完成必要的清除和释放资源的工作。 下面以一个示例来说明如何创建过滤器。在线考试系统中经常有这样的需求,只有在指定范围的IP地址才可以登录考试,而不在此范围的IP地址则拒绝登录。为此我们可将起始IP地址和终止IP地址写在web.xml配置文件中,在过滤中读取这些配置信息。当有客户请求资源时,首先获取客户的IP地址,并将客户的IP与读取配置文件的IP地址作比较,如果客户IP在有效范围内,则允许登录,否则拒绝登录。 程序清单:ch16\FilterIP.java 在web.xml中要对过滤器进行配置,配置代码如下: filter filter-namefilterIp/filter-name filter-classch16.FilterIp/filter-class init-param param-namestartIp/param-name param-value/param-value /init-param init-param param-nameendIp/param-name param-value/param-value /init-param /filter filter-mapping filter-namefilterIp/filter-name url-pattern/*/url-pattern /filter-mapping 在上面的配置中,filter元素配置了过滤IP地址的过滤器,过滤器的名字是filterIp ,实现类的完整类名是ch16.FilterIp,其中的init-param子元素定义了两个初始化参数starpIp和endIp,分别表示IP的起始地址和终止地址;f
您可能关注的文档
最近下载
- 全国大学生市场调查分析大赛优秀报告.docx
- 2024年上海市中考综合测试(物理、化学、跨学科)试题卷模拟卷(含答案解析).docx
- 小学科学地球的卫星——月球 课件.pptx VIP
- 1﹒1﹒3集合基本运算.ppt VIP
- AHRI Standard 210.240-2023 (2020)北美单元式空调能效认证.pdf VIP
- 考勤管理制度附请假调休公出等表格.doc
- 人教版八年级英语AnoldmantriedtomovethemountainsSectionA3a-3c.pptx VIP
- 热力管道支架托架图集05R417-1.pdf
- 脑血管病医院商业计划书案.pptx
- 新外研版八年级下册期中总复习课件.pptx
文档评论(0)