java web之话技术cookie+session.docVIP

  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文档。上传文档
查看更多
javaweb之话技术cookiesession

会话技术 1.什么是会话: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接、访问多少个资源,直到用户关闭浏览器,整个这个过程我们成为一次会话 实际情况: 张三打开浏览器,进入淘宝,买了2样东西;李四打开浏览器,进入淘宝,买了3样东西。当这两位结账时,结账的servlet如何得到张三和李四买的东西,并为他两分别结账? 使用会话保存数据 Session Cookie 为什么需要Cookie? 情景1.张在访问某个网站的时候,看到了提示你上次登录网站的时间,而且不同用户上次登录时间不同,这个怎么实现 没有会话技术前:user表 每次用户登录就更新user表里的时间 Id Name Password Login_time viewHistory 001 Aa Aa 2012-1-5 5:00:00 22,33,25 002 Bb Bb 2012-3-12 6:00:00 12,24,56 情景2.访问购物网的时候,能够看到曾经浏览过的商品,当然不同用户浏览过的商品不同 如果登录了,则可以用数据库 但如果没有登录那又怎么办?????? 情景3.保存登录密码及用户名 Cookie技术 1.服务器把每个用户的数据以cookie的形式写给用户各自的浏览器 当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去 Servlet有一个Cookie类 Cookie(String name ,String value) 3.Cookie小结: Cookie在服务端创建 Cookie cookie = new Cookie(name,value); Cookie是保存在浏览器这端 response.addCookie(cookie); Cookie的生命周期可以通过cookie.setMaxAge(int second)来设置 Cookie默认生命周期是会话级别(即存储在浏览器的内存中) 如果没有设置setMaxAge(),则该cookie的生命周期当浏览器关闭时就挂了,setMaxAge(0) +response.addCookie(cookie),相当于删除Cookie 此时如果cookie文件内部只有该Cookie则,文件也一并删除;否则只删除该Cookie Cookie可以被多个浏览器共享 Cookie可以想象成一张表 名字 String 值 String 此处读入的cookies只能是此web资源下设置的cookies而不是浏览器保存的所有的cookie 如果cookie的名字相同啥情况? 则替换 一个web应用可以保存多个cookie(放置在同一个文件内部) ,最多不要超过20个,每个Cookie的大小限制为4kB,因此Cookie不会塞满你的硬盘,更不会被作为拒绝服务的攻击手段。浏览器一般保存的Cookie不会超过300个 Cookie存放中文,出现的乱码问题 存放: String val = java.net.URLEncoder.encode(中文名称,utf-8); Cookie cookie = new Cookie(name,val); 读出: String val = java.net.URLDecoder.decode(cookie.getValue(name),utf-8); out.println(name=+val); Cookie存放的时候是以明文方式存放,因此安全性较低,我们可以通过加密后保存(MD5算法)----被称为不可逆的算法. 数据库中存放的密码也必须是经过MD5加密后的密码. ----用户时登陆先进行MD5加密,再到数据库验证 Cookie可以用来做什么 保存上次登录时间等信息 保存用户名和密码,在一定时间不用重新登录 记录用户访问网站的喜好(背景色、背景音乐等等) 网站的个性化,比如定制网站的服务,内容等 购物车 Cookie的应用实例:保存登陆名和密码。 Session 1.问题1:如何实现在不同的页面,可以去查看信息,可以查看信息(比如说购物车),同时还要实现不同的用户看到的信息是自己的 2.Session可以做什么? 1)网上商城购物车 2)保存登陆用户信息 3)将某些数据放入到Session中,可供同一用户的各个页面使用 4)防止用户非法登陆到某个页面。 ...... session图列 session基本用法图列 4.小结: Session是存放在服务器的内存中 一个用户浏览器,独享一个session域对象 Session中的属性的默认生命周期是30min

文档评论(0)

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

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

1亿VIP精品文档

相关文档