session的简单理解和使用

HttpSession

Session本意为"会话"的含义,是用来维护一个客户端和服务器关联的一种技术
·浏览器访问服务器时,服务器会为每一个浏览器都在服务器端的内存中分配一个空间,用于创建一个Session对象,该对象有一个id属性且该值唯一,我们称为SessionId,并且服务器会将这个 SessionId以Cookie方式发送给浏览器存储
·浏览器再次访问服务器时会将SessionId发送给服务器,服务器可以依据SessionId查找相对应的Session对象

在这里插入图片描述
每一个用户都会有一个session

另外session是一个会话的意思,代表的是多次请求和响应

HttpSession相关方法

在这里插入图片描述
在这里插入图片描述

HttpSession实现原理

HttpSession对象的创建是通过request.getSession()方法来创建的。 客户端浏览器在请求服务端资源时,如果在请求中没有JSESSIONID,getSession()方法将会为这个客户端浏览器创建一个新的HttpSession对象,并为这个HttpSession对象生成一个JSESSIONID,在响应中通过Cookie写回给客户端浏览器,如果在请求中包含了JSESSIONID,getSession()方法则根据这个ID返回与这个客户端浏览器对应的HttpSession对象,因为 jsp 里有内置对象,内置对象就是和 Server 交互的产物,所以如果你的首页是个 jsp 页的话, 即便没有HttpServletRequest.getSession(true),Session 也会创建

案例

在这里插入图片描述

生命周期:

在这里插入图片描述
在tomcat的默认生存时间30.可以修改,也可以用以上代码修改,只作用于当前项目

可以使用代码:
在这里插入图片描述

注意事项:

当cookie消失,那么session也会消失,接下来就会创建新的对象,不被引用的旧对象,并不会直接消失,而是根据时间

案例,实现谁登录的功能

在这里插入图片描述
在这里插入图片描述

HttpSession与Cookie总结

HttpSession与Cookie的区别:

cookie数据存放在客户的浏览器或系统的文件中,而HttpSession中的数据存放在服务器中
cookie不安全,而HttpSession是安全的
单个cookie保存的数据不能超过4K,很多浏览器都限制一个域名保存cookie的数量。而HttpSession没有容量以及数量的限制

HttpSession的使用建议:

HttpSession对象是保存在服务端的,所以安全性较高。我们可以在HttpSession对象中存储数据,但是由于HttpSession对象的生命周期不固定,所以不建议存放业务数据。一般情况下我们只是存放用户登录信息

编码不易 如有帮助到您 请支持一下 多谢

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DNCS高级工程师

你的创作是我打赏的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值