Session机制

目录

一、会话与请求

二、作用

三、代码

四、实现原理

1、原理

2、配置session销毁

3、cookie禁用


一、会话与请求

打开浏览器到关闭该浏览器称为一次会话,对应的java对象:session;请求指的是用户在浏览器上点击了一下,页面停下来称为一次请求,对应的java对象:request

一次请求对应一个request对象;一个会话对应一个session对象;一个会话可以包含多个请求

一次会话:从session创建到session销毁

二、作用

Session对应的类名为javax.servlet.http.Httpsession

Session机制属于B/S结构的一部分;不同语言对这一机制都有实现

session对象最主要的作用是保存会话信息(如保存用户登陆成功的状态,因为http协议是一种无状态协议) ​ 无状态协议:网页加载完成后,为了减小服务器压力,服务端和页面段之间的连接断开

对于一个账户,session对象的存在使得用户登录之后能够继续进行其它操作

三、代码

HttpSession session = request.getSession();

只要不关闭浏览器,不论几次请求,对应的session对象都是同一个

四、实现原理

1、原理

JSESSIONID=XXXXX 是以Cookie形式保存在浏览器中,浏览器关闭,cookie就没有了
session列表是一个Map,map的key是sessionid,map的value是session对象
用户第一次请求,服务器生成session对象,同时生成id,将id发送给浏览器
用户第二次请求,自动将浏览器内存中的id发送给服务器,服务器根据id查找session对象
关闭浏览器,内存消失,cookie消失,sessionid消失,会话等于自动结束

2、配置session销毁

<session-config>
    <session-timeout>销毁时间</session-timeout>
</session-config>

代表设置了session对象在最后一次请求后的某段时间后自动结束

3、cookie禁用

服务器正常发送cookie给浏览器,但浏览器拒收,这会导致每次请求都创建新的session对象,而之前创建的session对象还仍未销毁。

cookie禁用情况下,使用URL重写机制继续实现session机制:

URL会增加开发者的成本

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值