- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java过滤器.ppt
目标 描述过滤器 理解过滤器生命周期 实现简单的过滤器 过滤器简介 过滤器生命周期 过滤器生命周期的各个阶段: Filter 接口 过滤器是一个对象,它根据用户的请求和资源的响应进行过滤 Filter 接口包含以下方法: 过滤器链 FilterChain 接口用于调用过滤器链中的一系列过滤器 FilterConfig 在初始化过程中,容器使用 FilterConfig 将信息传递给过滤器 FilterConfig 接口包含以下方法: 过滤器定义 过滤器定义用于将过滤器名称与部署描述符中的特定类关联 过滤器映射 使用 filter-mapping 元素可将过滤器映射至 Web资源,如Servlet 过滤器定义和映射 创建 Servlet 创建过滤器 创建 HTML 文件 实现过滤器链-过滤器1 实现过滤器链-过滤器2 实现过滤器链-web.xml 实现过滤器链 总结 过滤器是 Web 服务组件 过滤器可以访问客户端输入的请求和 Web 资源输出的响应 过滤器定义用于将过滤器名称与特定的类关联在一起 过滤器映射用于将过滤器映射至 Web 资源 Filter 接口包含各种方法,如 init()、doFilter() 和 destroy() 每次用户发送请求或 Web 资源发送响应时都会调用 doFilter() 方法 FilterChain 接口用于调用过滤器链中的下一个过滤器 在初始化过程中,Servlet 使用 FilterConfig 将信息传递给过滤器 * 过 滤 器 过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件 过滤器的工作原理: Web 资源 用户发送请求 过滤器将用户的请求发送至 Web 资源 资源将响应发送至过滤器 过滤器将 Web 资源的响应发送给用户 用户 过滤器 实例化 初始化 过滤 销毁 Filter 接口 init() doFilter() destroy() 用户 过滤器1 过滤器2 过滤器3 Web 资源 过滤器链 getFilterName() getInitParameter() getInitParameterNames() getServletContext() FilterConfig filter filter-nameFilterName/filter-name filter-classClassName/filter-class /filter 指定过滤器的名称 指定类的名称 filter-mapping filter-name MyFilter /filter-name url-pattern /servletname/* /url- pattern /filter-mapping 指定过滤器的名称 指定 Servlet 的名称 定义和映射过滤器 部署描述符中 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 演示:示例 1 ... out.println(headtitleLoggerServlet/title/head); out.println(body bgcolor=\#ffffff\); out.println(“h1简单过滤器 Servlet/h1); String requestedUri = (String)request.getAttribute(requestURI); out.println(“b请求的 URI 为: /b+requestedUri); out.println(/body); out.println(/html); ... 演示:示例 2 FilterConfig、doFilter()、init() 和 destroy() 方法的用法 public class LoggerFilter extends
文档评论(0)