- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10-J2EE架构与程序设计(过滤器)
J2EE架构与程序设计 主讲:李伟刚 liweigang@ 西北工业大学软件与微电子学院 第十章 过滤器 主要内容 过滤器的概念 请求过滤器 响应过滤器 过滤器的概念 需求 要求每个servlet跟踪用户请求 要求操纵web应用中每个servlet的响应 不应修改servlet代码 过滤器 是一种Java组件 可被用来截获并处理发送到servlet之前的请求 可被用来处理servlet运行完而发送回客户端之前的响应 在DD中配置容器何时调用过滤器 过滤器的概念 过滤器的作用 请求过滤器 执行安全检查 重新格式化请求的头或体 审计或记录请求的日志 响应过滤器 压缩响应流 追加或变更响应流 创建一个完全不同的响应 过滤器的概念 过滤器的特点 过滤器是模块化的 可以链式排列 完全是自包含的 在DD中配置过滤器运行的顺序 过滤器与servlet相似 容器对过滤器API是感知的 过滤器实现Filter接口 过滤器可以获得ServletContext,并能与其他过滤器连接 容器管理过滤器的寿命周期 Init(), destroy(), doFilter() 过滤器在DD中定义 一个web应用可以有多个过滤器 一个给定的请求可以使多个过滤器运行 过滤器本身并不知道谁要调用它们,以及它的下一个是谁 请求过滤器 一个例子 请求过滤器 过滤器的寿命周期 每个过滤器必须实现Filter接口中的三个方法 init():容器决定实例化一个过滤器时,该方法可以在过滤器被调用前执行一些构建任务,如获得FilterConfig对象的引用 doFilter():当容器确定该过滤器应当用于当前请求时,调用此方法。可以在其中执行过滤器功能。有三个参数 ServletRequest ServletResponse FilterChain destroy():当容器决定移除一个过滤器实例时,调用该方法,可以在其中执行一些清除对象的代码 请求过滤器 如何理解FilterChain接口 过滤器是一些模块化的“构造块”,可以任何顺序拼凑在一起 FilterChain知道过滤器的拼凑方式 FilterChain接口的doFilter()方法计算下来应调用哪个过滤器的doFilter()方法,或者servlet的service()方法,而Filter接口的doFilter()方法执行实际的过滤操作 请求过滤器 在DD中配置过滤器 声明过滤器 请求过滤器 将过滤器与打算过滤的web资源映射起来 用URL样式定义web资源 用servlet名字定义web资源 请求转发的web资源 请求过滤器 组织这些映射关系来创建过滤器调用序列 所有需匹配URL样式的过滤器先排序 能匹配URL样式的过滤器依照其在DD中声明的顺序放置到FilterChain中 练习 请求过滤器 响应过滤器 在servlet执行完后,可以在响应发送到客户端前对响应输出做一些处理 在过滤器的doFilter()方法中,调用FilterChain.doFilter()方法之后执行响应过滤 响应过滤器 直接使用容器传来的Response对象是否可行 响应过滤器 在servlet将执行结果写入输出后,而返回客户端之前捕获输出 响应过滤器 响应对象的包装 自己实现HttpServletResponse接口非常麻烦,需要实现接口及其父接口中所有的方法 Servlet API的包装类 不是提供接口的实现 可以获得一个到接口实现类的实例引用,并将自己的方法调用委托其执行 用户只需重载少数方法执行自己的业务功能 请求/响应包装器有: ServletRequestWrapper HttpServletRequestWrapper ServletResponseWrapper HttpServletResponseWrapper 响应过滤器 例子:压缩响应输出 响应的包装器类 过滤器 响应过滤器 思考与讨论题 过滤器的概念 过滤器的寿命周期 FilterChain的特点及过滤器链的排序方式 开发请求过滤器 响应过滤器中对响应对象的包装 * 2008 by Li Weigang. All rights reserved. * 2008 by Li Weigang. All rights reserved. Filter和FilterChain在javax.servlet包中 每个过滤器必须实现Filter接口 必须实现init()方法,通常用于存储FilterConfig对象的引用 在doFilter()中进行过滤工作。注意:使用常规的ServletRequest和ServletResponse对象 配置的下一个过滤器或servlet被调用 必须实现destroy()方法,但是通常是空的 必须的 必须的 可选的,并可以有
您可能关注的文档
- 计算机类英语单词.doc
- VC++6.0集成开发环境.ppt
- flv格式实现(C#).doc
- powerpc平台nginx+php的交叉编译.docx
- VC++6.0介绍.ppt
- 程序设计CPPCH05.ppt
- 计算机和mp3.docx
- 第四章 单区域OSPF(神州数码).ppt
- 金山快盘开发文档.docx
- 一堂如何提高代码质量的培训课.docx
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
最近下载
- JGJ33-2012 建筑机械使用安全技术规程.docx VIP
- TB_10307-2020 铁路通信、信号、信息工程施工安全技术规程.docx VIP
- 简明新疆地方史读本电子版 .pdf VIP
- 基于PLC的加热反应炉自动控制系统设计.pdf VIP
- 抗病毒药物的合理使用课件.pptx VIP
- TB10181-2017 铁路隧道盾构法技术规程.docx VIP
- 静脉输液课件(共87张PPT).pptx VIP
- 《商业银行经营与管理》22春平时作业1答卷.doc VIP
- 2024-2025学年小学美术五年级上册桂美版(2024)教学设计合集.docx
- 2022年版初中物理课程标准新课标考试题库及答案1 .pdf VIP
文档评论(0)