第3篇 Servlet编程-2.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 可以使用相对URL作为sendRedirect()的参数。 sendRedirect(“foo/stuff.html”) Servlet重定向(2) 容器知道原来的请求URL从 myApp/cool路径开始,会把这一部 分放在“foo/stuff.html”的前面 * sendRedirect(“/foo/stuff.html”) Servlet重定向(3) 开始位置上的斜线意味着“相对于 这个Web容器的根”。新的URL是 http://WWW.163.com/foo/stuff.html * Servlet请求分派 * 过滤器是Java组件, 请求发送到servlet之前,可以用过滤器截获和处理请求,并在servlet结束处理工作之后,响应发回给客户之前,处理响应。 容器根据DD中的声明来确定何时调用滤波器。部署人员建立映射,明确那个请求URL模式调用哪个(些)过滤器。 四、Servlet Filter 编程 * 声明过滤器 * 声明对应URL模式的过滤器映射 * 声明对应servlet名的过滤器映射 * 确定过滤器顺序的容器规则 当多个过滤器映射到一个给定资源时,容器使用以下规则: (1) 先找到与URL模式匹配的所有过滤器,与URL模式匹配 的过滤器,会按DD中声明的顺序组成一个链。 (2) 一旦将与URL匹配的所有过滤器都放在链中,容器会使用 同样的方法确定与DD中与servlet-name匹配的过滤器。 * * 过滤器可以链到一起,一个接一个地运行。过滤器的运行顺序由DD控制 * 每个过滤器都必须实现Filter接口中的三个方法:init()、doFilter()和destroy()。 public void init(FilterConfig config) throws ServletException { this.fc = config; } 完成调用过滤器之前的所有初始化 任务。这是常见的init()方法实现 * 课后练习 按照教材中的说明,调试实例程 序3-11~3-15。 * * 第三章 Servlet编程 第三章 Servlet编程 * 三、Servlet 编程高级技能 客户端发送一个请求到服务器,服务器处理客户端的请求,返回响应到客户端,并关闭与客户端建立的连接,并不记录关于客户的任何信息。 有时,可能要跨多个请求保留与客户的会话状态。例如,购物车,在一个请求中作出选择,在下一个选择中结账。常见的会话跟踪技术有:Cookie, URL重写或重定向。 * HttpSession对象可以保存跨同一客户多个请求的会话状态。也就是说:对于会话期间客户所做的所有请求,从中得到的所有信息都可以用HttpSession对象保存。 会话如何 工作? * 会话如何工作(1) 会话对象何 时创建? * 会话如何工作(2) * 会话如何工作(3) * 会话如何工作(4) * 会话如何工作(5) * 容器如何识别客户 对每一个客户的第一个请求,容器会生成一个唯一的 会话ID,并通过响应把它返回给客户。客户再在以后的每 一个请求中发回这个会话ID。容器看到ID后,就会找到匹 配的会话,并把这个会话与请求关联。 * 客户和容器交换会话ID信息(1) 最简单而且最常用的方式是通 过cookie交换这个会话ID信息。 * 客户和容器交换会话ID信息(2) * 客户和容器交换会话ID信息(3) 生成会话ID、创建新的cookie对象、把会话ID放到 cookie中, 及把cookie设置为响应的一部分等工作都由容 器负责。对于后续的请求,容器会从请求中的cookie得 到会话ID,将这个会话ID与一个现有的会话匹配, 并把 会话与当前请求关联。 容器几乎会做cookie的所有工作,而且cookie的所 有工作都在后台进行。 * 客户和容器交换会话ID信息(4) 从请求得到会话ID: HttpSession session = request.getSession(); * 客户和容器交换会话ID信息(5) 如果客户对这个会 话ID没有响应过, isNew()就返回true * 如果客户不接受cookie,可以把URL重写作为一条后路。URL重写是将会话ID附加到各个URL的最后。 URL重写(1) * URL重写(2) 不一定用分号作分隔 符,不同的开发商可 能采用不同的分隔符 * URL重写(3) 向这个URL增加额外的会话ID 信息 (只有告诉响应要对URL 编码,对URL重写才能奏效) * URL重写(4)

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档