网站大量收购闲置独家精品文档,联系QQ:2885784924

5cookie-session笔记.xls

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5cookie-session笔记.xls

Sheet3 Sheet2 Sheet1 Eclipse的动态Web项目 Http协议无状态带来的问题 会话跟踪:Cookie 简易购物车设计 小结 什么是会话? 可简单理解为:用户开一个浏览器,访问某一个web站点,在这个站点点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一次会话。 会话跟踪: 会话是访问特定Web站点时用户执行的一组活动,记住不同会话过程称为会话跟踪. -------------------------------------------------------------------------- HTTP协议时无状态: 当一个客户向服务器发出请求(request),在服务器返回响应(response)后,连接就关闭了。这时,在服务器端不保留连接相关的信息,因此当下一次请求连接时,服务器已没有以前连接的信息了,也就无法判断这一次连接和以前的连接是否属于同一客户,也就是说Web服务器无法跟踪客户状态。 -------------------------------------------------------------------------- 正因为HTTP协议的无状态性:带来无法跟踪用户会话信息. 跟踪用户会话,解决方案: 1.在请求的资源后面,传递参数. 功能可行,但是参数全部暴露在地址栏,很不安全. 解决方案:还是传递信息,但是不在地址栏显示,把请求信息保存在请求头.---Cookie 2.Cookie 3.Session --------------------- 在 Servlet 规范中,常用以下两种机制完成会话跟踪: Cookie: 是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。 Session: Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。 Cookie的操作: 1.创建Cookie: Cookie cookie = new Cookie(String name,String value); 2.把Cookie放入响应中,保存在浏览中: Cookie是客户端的技术,就是把请求信息保存在各自的浏览器中. 浏览器如何得到服务中Cookie对象中的数据. response.addCookie(cookie); 3.从请求中获取Cookie: Cookie[] cs = request.getCookies(); 4.获取Cookie的名字和值 String cookieName = cookie.getName(); String cookieVal = cookie.getValue(); 5.修改Cookie中的数据 方式1: cookie.setValue(String val); 方式2: 创建一个同名的Cookie,覆盖效果. Cookie cookie = new Cookie(String name,String value); 注意:必须在response.addCookie(cookie)之前 6.Cookie的分类:两种 会话Cookie: 把Cookie数据存放在浏览器的内存中,一旦关闭浏览器,Cookie就被销毁了. 默认情况下,Cookie属于会话Cookie. 持久化Cookie:把Cookie数据存在一个文件中(不是内存),可以供下次使用. 给Cookie设置最大的存活时间. 7.设置Cookie的最大存活时间 cookie.setMaxAge(int seconds);单位是秒 8.删除Cookie,设置Cookie的最大存活时间为0 cookie.setMaxAge(0); response.addCookie(cookie); 9.在Cookie中存储中文数据 Cookie的name和value都不能存储中文. 解决方案: 使用URLEncoder编码,再存储. String URLEncoder.encode(String msg,String env); Cookie cookie = new Cookie(c

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档