java+web+会话管理_JavaWeb中Cookie会话管理,理解Http无状态处理机制

原标题:JavaWeb中Cookie会话管理,理解Http无状态处理机制

上一部分我们提到了Session会话管理,这次我们再补充一个Cookie会话管理

首先我们看一下Cookie在Web中的定义:

HTTP允许一个Web服务器在客户机器上存储信息

需要注意的几个特点:

Cookie是有Web服务器的响应发出的

9d901798dda8591fca11bee58cbfe11c.png

Cookie主要包括:名字、值、过期时间、路径和域。域和路径构成了Cookie的作用范围

f104096ef1b72e4bdd14ba70c74bba45.png

Cookie存储在客户的机器上,Session存储在服务器端

3baaa7235b82fc7c46e67201b1a0eee2.png

42a0be8a6ced6fe820fa4ecdd80d6062.png

我们做一个小练习:写两个Servlet,第一个访问响应到一个Cookie,第二次访问另外一个Sevlet,将其显示出来

74b968b05d65a5b08ee2bc29e83d4cf4.png

3e74eea262e6406016b2283f28556665.png

然后我们部署访问,点击提交

4137d6c4300e504da529b71f454a6a11.png

此时进入第一个Servlet,响应一个cookie,我们按F12打开开发工具,就可以看到我们的cookie了

5b05a466d890b6dcd6c6e560a346ebcb.png

我们再访问我们的第二个Servlet

279067820a18016faddd62344a922598.png

回车,可以看到服务器中显示了内容

8ddb600104e26c1de31b2b8e796dc79c.png

JSESSIONID是我们前面的练习,带出来的数值,可以暂时不用考虑,此时可以看到Cookie实际上是存在客户端的

我们画个图

64023f0b8b4282cba026a032f9e49576.png

如果不设置过期时间,则表示这个Cookie的生命周期为浏览器会话期间,只要关闭浏览器窗口,Cookie就消失了。生命期为浏览器会话期的Cookie被称为会话Cookie,会话Cookie一般不存储在硬盘上,而是在内存中。如果设置过了过期时间,浏览器就会把Cookie保存在硬盘上,关闭再打开浏览器这些Cookie仍然有效

怎么理解呢?

我们访问

656e445a92322f4ff86f76b0f9a42fce.png

然后再访问第二个servlet

89c32f97359ddddb129c64103d89c887.png

此时是可以看到我们的cookie的

eef30fcc276a45dc6c56bdc83c48727b.png

但是如果我们关闭浏览器,再访问

89c32f97359ddddb129c64103d89c887.png

此时服务器是没有的

a8423f54ad3360266c5580176655c863.png

就是说我们关闭了浏览器,Cookie就过期了

如果我们设置了过期时间,过期一天

98932f7cb55ed71417ad4b518459943c.png

此时访问浏览器

656e445a92322f4ff86f76b0f9a42fce.png

获取cookie之后,关闭浏览器,再访问

89c32f97359ddddb129c64103d89c887.png

可以看到我们的cookie了

6596b30913f73684cd4a36075a0ada8b.png

我们来查看下存在我们电脑上的cookie

我是用的是360极速浏览器,点击工具的选项

bf9fb2ab0e91c124b89152c83854498f.png

选择所有cookie

bb48bb40f1ea41b59486cc5360ecb978.png

可以看到我们的过期时间

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值