第使用过滤器和监听器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第使用过滤器和监听器第1页,共30页。

(优选)第使用过滤器和监听器第2页,共30页。

1Filter在Web开发中的应用

过滤器(Filter)是在Servlet2.3规范中引入的新功能,并在Servlet2.4规范中得到增强。Servlet过滤器是一种Web组件,它们拦截请求和响应,以便查看、提取或以某种方式操作客户机和服务器之间交换的数据。第3页,共30页。

1.1过滤器概述对Web应用来说,过滤器就是驻留在服务器端,在源数据和目的数据间,对Web请求和Web响应的头属性(Header)和内容体(Body)进行操作的一种特殊Web组件。如图13-1所示。过滤器目标资源浏览器请求响应Web容器第4页,共30页。

在一个Web应用程序中,可以部署多个过滤器,这些过滤器组成一个过滤器链。过滤器链中的每个过滤器都有特定的操作,请求和响应在浏览器和目标资源之间按照部署描述符中声明的过滤器的顺序,在过滤器之间进行传递。如图13-2所示。过滤器1目标资源浏览器请求响应Web容器过滤器3过滤器4过滤器2第5页,共30页。

1.2FilterAPI与过滤器开发相关的接口和类包含在javax.servlet和包中,主要的接口和类如表13-1所示。接口/类说明javax.servlet.Filter接口过滤器是执行过滤任务的对象,这些任务是针对对某一资源(servlet或静态内容)的请求或来自某一资源的响应执行的,抑或同时针对这两者执行。javax.servlet.FilterConfig接口servlet容器使用的过滤器配置对象,该对象在初始化期间将信息传递给过滤器。javax.servlet.FilterChain接口FilterChain是servlet容器为开发人员提供的对象,它提供了对某一资源的已过滤请求调用链的视图。过滤器使用FilterChain调用链中的下一个过滤器,如果调用的过滤器是链中的最后一个过滤器,则调用链末尾的资源。第6页,共30页。

javax.servlet.ServeltRequestWrapper类extendsjava.lang.ObjectimplementsServletRequest提供ServletRequest接口的便捷实现,希望将请求适配到Servlet的开发人员可以子类化该接口。默认情况下,方法通过包装的请求对象调用。javax.servlet.ServeltResponseWrapper类extendsjava.lang.ObjectimplementsServletResponse提供ServletResponse接口的便捷实现,希望根据Servlet适配响应的开发人员可以子类化该接口。默认情况下,方法通过包装的响应对象调用。javax.servlet.HttpServeltRequestWrapper类extendsServletRequestWrapperimplementsHttpServletRequest提供HttpServletRequest接口的便捷实现,希望将请求适配到Servlet的开发人员可以子类化该接口。此类实现Wrapper或Decorator模式。默认情况下,方法通过包装的请求对象调用。javax.servlet.HttpServeltResponseWrapper类extendsServletResponseWrapperimplementsHttpServletResponse提供HttpServletResponse接口的便捷实现,希望根据Servlet适配响应的开发人员可以子类化该接口。此类实现Wrapper或Decorator模式。默认情况下,方法通过包装的响应对象调用。第7页,共30页。

1.3Filter接口所有的过滤器在开发中必须实现接口,并且提供一个公开的不带参数的构造方法。接口定义了init()、doFilter()和destroy()三方法,和Servelt接口类似,这三个方法分别对应Servlet过滤器生命周期中的初始化、响应和销毁三个阶段第8页,共30页。

1.4FilterConfig接口当容器对Filter对象进行初始化时,容器调用Filter的init方法,并传入一个实现FilterConfig接口的对象。Filter可使用该对象获得一些有用的信息。PublicStringgetFilterName()PublicStringgetInitParamter()PublicServletContextgetServletContext()第9页,共30页。

1.5FilterChain接口

接口由容器实现,容器将其实例作为参数传

文档评论(0)

Savior + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档