第8章 高级Servlet技术.ppt

  1. 1、本文档共94页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
63 过滤器配置示例 64 过 滤 器 过滤器配置示例 — 获取初始化参数 ? 可以在 doFilter 方法中通过以下代码获取 adminPhone 和 adminEmail 的值 65 过 滤 器 过滤器配置示例 — 检查用户输入 ? 如果用户输入非法,可以发送一个错误消息,告诉 用户 ? 如果输入不完全非法,只在首部或者尾部包含空字 符,可以使用 trim() 来修正,如 String firstName= request.getParameter( irstName); if (firstName!= null) firstName= firstName.trim(); 66 过 滤 器 过滤器配置示例 — 检查用户输入(续) ? 可以编写一个过滤器对 HttpServletRequest 对象的每 个参数值,在传送给 servlet 前执行 trim ? 可以改变参数值 ? 将去空后的参数值放到属性中,参数名作为属性名 ? 随后,在 servlet 中,通过访问 HttpServletRequest 属性获 取去空后的输入 67 过 滤 器 过滤器配置示例 — 检查用户输入(续) 68 过 滤 器 31 主要内容 ? 事件监听器 ? 过滤器 32 过滤器 Filter ? 用于在用户访问 Web 资源前,对请求做预处理 ? 使得可以在将 HttpServletRequest 和 HttpServletResponse 对象传递给 Servlet 前被访问 ? 功能 ? 记录所有进入请求并将对请求 PC 的 IP 地址做日志 ? 可以作为加密 / 解密设备 ? 用户认证、数据压缩、用户输入验证等 过 滤 器 Web 应用中的 Servlet 过滤器 ? 过滤器允许解释 Web 客户和 Web 资源之间的输入 / 输 出 HTTP 消息 ? 在将 HTTP 请求传递给 Web 资源前,可用一个或者多个过 滤器解释 / 修改 ? 当一个资源转发或者包含另一个使用请求派遣器时,也 可以运行过滤器过滤 33 过 滤 器 过滤器的典型应用场景 ? 验证过滤器 ? 日志和审计过滤器 ? 图象转换过滤器 ? 数据压缩过滤器 ? 加密过滤器 ? 令牌过滤器 ? 触发资源访问事件的过滤器 ? 转换 XML 文档的 XSLT 过滤器 ? MIME 类型链过滤器 ? 缓存过滤器 34 过 滤 器 过滤器处理流程 35 过 滤 器 过滤链处理 ? 过滤器可以配置成一个链式结构 ? 用 FilterChain 对象来描述链 ? 过滤器通过嵌套调用被调用 ? Servlet 容器在链表的第一个过滤器中调用 doFilter() ? 类 ? javax.servlet.Filter 的实现类 ? 参数 ? ServletRequest 类型的 Request ? ServletResponse 的 Response ? FilterChain 类型的 Chain 36 过 滤 器 过滤链处理(续) ? 链中的第一个过滤器调用 doFilter() 来调用下一个过 滤器 ? 从输入 FilterChain 对象引用 ? 类 ? javax.servlet.FilterChain ? 参数 ? ServletRequest 类型的 Request ? ServletResponse 的 Response ? 链的最后一个入口是 Web 资源 37 过 滤 器 doFilter() 的嵌套调用 38 过 滤 器 39 过滤器接口 Filter ? 过滤器必须实现 javax.servlet.Filter 接口 public interface Filter { public void init (FilterConfig filterConfig) throws ServletException; public void doFilter (ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException ; public void destroy() ; } 过 滤 器 init 方法 ? 当 servlet 容器调用 init 方法后,过滤器生命周期开始 ? 当过滤器实例化后, servlet 容器只调用 init 方法一次 ? Servlet 容器将通过 FilterConfig 对象向过滤器传递其 配置信息 ? 每个过滤器都有一个 FilterConfig 与其对应 40 过 滤 器 doFilter 方法 ? 过滤器被调用时执行该方法 ? doFilter 方法与 Ser

文档评论(0)

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

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

1亿VIP精品文档

相关文档