一、基本使用
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实现的

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

1450

被折叠的 条评论
为什么被折叠?



