深入servlet中cookie.pdfVIP

  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文档。上传文档
查看更多
深入servlet中的cookie 一、会话的概念 会话可简单理解为 :用户开一个浏览器 ,点击多个超链接 ,访问服务器多个web资源 ,然 关闭浏览器 ,整个过程称之为一个会话。有状态会话 :一个同学来过教室 ,下次再来教室 ,我们 会知道这个同学曾经来过 ,这称之为有状态会话。 二、会话过程中要解决的一些问题 ? 每个用户在使用浏览器与服务器进行会话的过程中 ,不可避免各自会产生一些数据 ,程序要 想办法为每个用户保存这些数据。 三、Cookie Coo kie机制 在程序中 ,会话跟踪是很重要的事情。理论上 ,一个用户的所有请求操作都应该属于同一个 会话 ,而另一个用户的所有请求操作则应该属于另一个会话 ,二者不能混淆。例如 ,用户A在超 市购买的任何商品都应该放在A 的购物车内 ,不论是用户A什么时间购买的 ,这都是属于同一个会 话的 ,不能放入用户B或用户C的购物车内 ,这不属于同一个会话。 而Web应用程序是使用HT T P协议传输数据的。HT T P协议是无状态的协议。一旦数据交换 完毕 ,客户端与服务器端的连接就会关闭 ,再次交换数据需要建立新的连接。这就意味着服务器 无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内 ,当再次购买商品时服务器已经 无法判断该购买行为是属于用户A 的会话还是用户B的会话了。要跟踪该会话 ,必须引入一种 机制。Coo kie就是这样的一种机制。它可以弥补HT T P协议无状态的不足。在Sessio n出现之前 ,基本上所有的网站都采用Coo kie来跟踪会话。 什么是Coo kie Coo kie意为“甜饼” ,是由W3C组织提出 ,最早由Net scape社区发展的一种机制。目 前Coo kie已经成为标准 ,所有的主流浏览器如IE、Net scape、Firef o 、O pera等都支持Coo kie 。由于HT T P是一种无状态的协议 ,服务器单从网络连接上无从知道客户身份。怎么办呢 ?就给 客户端们颁发一个通行证吧 ,每人一个 ,无论谁访问都必须携带自己通行证。这样服务器就能从 通行证上确认客户身份了。这就是Coo kie的工作原理。 Coo kie实际上是一小段的文本信息。客户端请求服务器 ,如果服务器需要记录该用户状态 , 就使用respo nse向客户端浏览器颁发一个Coo kie。客户端浏览器会把Coo kie保存起来。当浏览 器再请求该网站时 ,浏览器把请求的网址连同该Coo kie一同提交给服务器。服务器检查 该Coo kie ,以此来辨认用户状态。服务器还可以根据需要修改Coo kie的内容。 更多精彩攻略访问 1 Coo kie的有效期 Coo kie的ma A ge决定着Coo kie的有效期 ,单位为秒 (Seco nd )。Coo kie中通 过get Ma A ge()方法与set Ma A ge(int ma A ge)方法来读写ma A ge属性。 如果ma A ge属性为正数 ,则表示该Coo kie会在ma A ge秒之 自动失效。浏览器会 将ma A ge为正数的Coo kie持久化 ,即写到对应的Coo kie文件中。无论客户关闭了浏览器还是 电脑 ,只要还在ma A ge秒之前 ,登录网站时该Coo kie仍然有效。下面代码中的Coo kie信息将永 远有效。 Coo kie coo kie = new Coo kie(username,helloweenvsf ei); // 新建Coo kie coo kie.set Ma A ge(Int eger.MA X_VA LUE); // 设置生命周期为MA X_VA LUE respo nse.addCoo kie(coo kie); // 输出到客户端 如果ma A ge为负数 ,则表示该Coo kie仅在本浏览器窗口以及本窗口打开的子窗口内有效 , 关闭窗口 该Coo kie即失效。ma A ge为负数的Coo kie ,为临时性Coo kie ,不会被持久化 ,不会 被写到Coo kie文件中。Coo kie信息保存在浏览器内存中 ,因此关闭浏览器该C

文档评论(0)

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

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

1亿VIP精品文档

相关文档