Session基本使用,原理,细节

存储在服务端的会话跟踪技术

JavaEE提供HttpSession接口,Session类似于在服务端的一个域

基本使用:

创建Session对象:

HttpSession session = request.getSession()

session.setAttribute(String name,Object o) 存储到Session域中

session.getAttribute(String name) 根据键获取Session域中的数据

session.removeAttribute(String name) 删除Session域中数据

案例:

原理:

Session也是基于Cookie实现的,在程序中存在Session时,Tomcat会自动检测到,并创建对应的响应头 set-Cookie:JSSESSIONID = ...  发送给浏览器,浏览器想要访问Session域时会发出请求头 Cookie: JSSESSIONID = …,并非像Cookie一样直接发出数据。

 

 

细节:

Session的活化,钝化:

Session在服务器正常关闭后不会立刻消失,

钝化:

服务器正常关闭时,Session将数据储存在服务端硬盘中,target/work文件夹下

活化:

服务器再次启动时,Session重新提取硬盘中所存储的Session数据,创建Session域,删除硬盘上所存储的文件

Session存活时间:

默认为30分钟

可通过配置在Web.xml中配置存活时间

<session-config>

<session-timeout>90</session-timeout>

</session-config>

删除Session:

session.invalidate();

作用:退出账号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Rain |

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值