Cookie和Session

会话

用户开一个浏览器,点击多个超链接,
访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。

问题思考:
用户点击超链接通过一个servlet购买了一个商品,
程序应该想办法保存用户购买的商品,以便于用户点结帐servlet时,
结帐servlet可以得到用户购买的商品为用户结帐。

是否可以使request和ServletContext域解决? 

Cookie概念

Cookie是客户端技术,
程序把每个用户的数据以cookie的形式写给用户各自的浏览器。
当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。
这样,web资源处理的就是用户各自的数据了。

Cookie应用场景

记录用户名
显示浏览记录

Cookie原理分析

当浏览器进行网络请求时,如果携带当前浏览器的cookie

服务器打给浏览器

set-cookie:username=zhangsan;Exipres=Moday,具体时间

浏览器打给服务器

Cookie:username=zhangsan;

存储到浏览器的文本中

username=zhangsan  169.254.xxx.xxx/day09_cookie/servlet

name        value    url
一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。 
一个WEB服务器可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。
浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。
如果创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。
删除cookie时,path必须一致,否则不会删除

Cookie案例讲解

* 模拟通过cookie记录上次访问时间
* 模拟通过cookie记录用户名

* 模拟通过cookie记录浏览记录
———————————————————-

Session概念

在需要保存用户数据时,
服务器程序可以把用户数据写到用户浏览器独占的session中,
当用户使用浏览器访问其它程序时,
其它程序可以从用户的session中取出该用户的数据,为用户服务。

Session原理

图解

Session应用场景

使用Session完成用户登陆
利用Session实现一次性验证码
利用Session实现购物车
利用Session防止表单重复提交

Session常用基本方法

HttpSession session = request.getSession();//得到session对象
setAttribute
getAttribute
removeAttribute

案例演示

使用Session完成用户登录
![这里写图片描述](https://img-blog.csdn.net/20170710233820521?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjk4NTY4NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值