- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)