javaweb-session

本文深入讲解了Session的基本概念,包括其在客户端和服务端的角色区分、创建与获取方式、标识符的使用,以及如何通过设置参数进行数据存储和读取。同时,详细探讨了Session的生命周期管理,如超时时间的设定、默认时长的配置及超时机制的理解,并分析了浏览器与Session之间的关系。

一、基本使用

1.1 基本概念

  • 每个客户端都有一个session
  • cookie在客户端,session在服务端

1.2 创建和获取session

//1. 创建或者获取session
HttpSession session = req.getSession();

1.3 new和Id

//2. 判断当前session是创建的还是之前的
boolean isNew = session.isNew();
System.out.println(isNew);
//3. 获取session标识
String id = session.getId();

1.4 设置参数

//4. 设置session数据
session.setAttribute("k1", "v1");
//5. 获取session数据
Object v1 = session.getAttribute("k1");
System.out.println("k1: "+v1);

二、生命周期方法

2.1 超时时间

  • 正数:超时时间,秒
  • 负数永不超时
  • 立刻超时:invalidate()
//7. 立刻超时
session.invalidate();

获取超时时长

//6. 生命周期时间
int time = session.getMaxInactiveInterval();
System.out.println(time+"秒");//默认1800s(30分钟)
session.setMaxInactiveInterval(1800);

2.2 设置默认时长

设置tomcat或者该项目的默认时长

<!-- 分钟 -->
<session-config>
    <session-timeout>30</session-timeout>
</session-config>

2.3 session超时

是两次请求之间的时长

三、浏览器和session的关系

可以看出session是基于cookie实现的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值