- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7_1_过滤器
JAVA WEB第七章
过滤器
内容回顾
上章重要知识点
自定义标签结构
自定义标签继承类
自定义标签配置
南亚视点网络培训学校
教学目标
通过本节课的学习:
本节的重点:
掌握什么是过滤器
掌握过滤器的配置,实现
掌握使用过滤器解决编码,乱码问题
南亚视点网络培训学校
过滤器简介
过滤器是向 Web 应用程序的请求和响应处理添加功能的
Web 服务组件
过滤器的工作原理:
Web 资源
用户发送请求
过滤器将用户的请求发送至 Web 资源
资源将响应发送至过滤器
过滤器将 Web 资源的响应发送给用户
用户
过滤器
南亚视点网络培训学校
过滤器生命周期
过滤器生命周期的各个阶段:
实例化
初始化
过滤
销毁
南亚视点网络培训学校
过滤器定义
过滤器定义用于将过滤器名称与部署描述符中的特定类关联
filter
filter-nameFilterName/filter-name
filter-classClassName/filter-class
/filter
指定过滤器的名称
指定类的名称
南亚视点网络培训学校
过滤器映射
使用 filter-mapping 元素可将过滤器映射至 Web资源,如Servlet
filter-mapping
filter-name MyFilter /filter-name
url-pattern /servletname/* /url-
pattern
/filter-mapping
指定过滤器的名称
指定 filter 的名称
南亚视点网络培训学校
过滤器定义和映射
定义和映射过滤器
部署描述符中 filter 和 filter-mapping 元素的用法
?xml version=1.0 encoding=UTF-8?
!DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN /dtd/web-app_2_3.dtd
web-app
display-nameFiltersModule/display-name
filter
filter-nameFilterTimer/filter-name
filter-classfilters.TimerFilter/filter-class
/filter
filter-mapping
filter-nameFilterTimer/filter-name
url-pattern/*/url-pattern
/filter-mapping
/web-app
南亚视点网络培训学校
Filter 接口
过滤器是一个对象,它根据用户的请求和资源的响应进行过滤
Filter 接口包含以下方法:
Filter 接口
Init()
doFilter()
destroy()
南亚视点网络培训学校
过滤器定义
过滤器 API 包含 3 个简单的接口,它们整洁地嵌套在 javax.servlet 包中。那 3 个接口分别是 Filter 、 FilterChain 和 FilterConfig 。从编程的角度看,过滤器类将实现 Filter 接口,然后使用这个过滤器类中的 FilterChain 和 FilterConfig 接口。该过滤器类的一个引用将传递给 FilterChain 对象,以允许过滤器把控制权传递给链中的下一个资源。 FilterConfig 对象将由容器提供给过滤器,以允许访问该过滤器的初始化数据。 为了与我们的三步模式保持一致,过滤器必须运用三个方法,以便完全实现 Filter 接口: init() :这个方法在容器实例化过滤器时被调用,它主要设计用于使过滤器为处理做准备。该方法接受一个 FilterConfig 类型的对象作为输入。 doFilter() :与 servlet 拥有一个 service() 方法(这个方法又调用 doPost() 或者 doGet() )来处理请求一样,
过滤器拥有单个用于处理请求和响应的方法―― doFilter() 。这个方法接受三个输入参数:一个 ServletRequest 、 response 和一个 FilterChain 对象。 destroy() :正如您想像的那样,这个方法执行任何清理操作,这些操作可能需要在自动垃圾收集之前进行。
南亚视点网络培训学校
创建过滤器
FilterConfig、doFilter()、init() 和 destroy() 方法的用法
public class LoggerFilter extends HttpServlet implements Filter
{
privat
文档评论(0)