HttpSession的创建

这里主要讲解的是HttpServletRequest request.getSession()方法

session在我之前的理解中就是一个存储一些缓存内容使用的但事实session的使用时很广泛的。

这里简单说一些session的创建和由来

session的创建是因为客户端的一个申请使用了rquest.getSession(boolean b)

这时服务端会为你(申请开辟session内存空间的客户)创建一个session的内存空间

并且会把request.getSession().getId()在响应头中的cookie内给你返回。可以看图片

这是客户端的请求


这是服务端的响应


明显我们能在响应头的Set-Cookie中找到JSESSIONID

这个就是request.getSession().getId()的值

并且我们在此向这个服务器发送请求的时候都会在请求头的Cookie中把JSESSIONID=AC48B7961652A7BC946BF735086CE7CA发送给服务器

如图



这样我们再次使用request.getSession()时候他会JSESSIONID=AC48B7961652A7BC946BF735086CE7CA优先查看你的请求头中的Cookie是否有JSESSIONID=AC48B7961652A7BC946BF735086CE7CA,在没有的情况会为你创建一个Session内存,如果有的话服务器会用 JSESSIONID=AC48B7961652A7BC946BF735086CE7CA直接找到你的session这样可以方便服务器的操作提升性能.所以在创建session之后我们每次的请求头内都会有SessionID


这里在说一些

Request.getSession(Boolean b)

这里的boolean变量的使用:

1.当我们不传入时候会默认位true,这样我们长时间不访问服务器时候,session会消亡。这是你请求头中的SessionId会失效查找不到对应的session,服务器还会为你再次创建一个session内存,并且把session在响应头中给你传递回去。

2.当我们传入的是false,我们访问服务器时候session消亡了,这里服务器不会再次为你创建session,他只会在你请求头中没有sessionId的情形下为你创建一次session内存空间。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值