Session java

会话 , Session是基于Cookie的一种会话机制。 Cookie是服务器返回一小份数据给客户端,并且存放在客户端上。 Session是,数据存放在服务器端。

常用API
	//得到会话ID
	String id = session.getId();
	
	//存值
	session.setAttribute(name, value);
	
	//取值
	session.getAttribute(name);
	
	//移除值
	session.removeAttribute(name);
Session何时创建 , 何时销毁?
  • 创建

如果有在servlet里面调用了 request.getSession()

  • 销毁

session 是存放在服务器的内存中的一份数据。 当然可以持久化. Redis . 即使关了浏览器,session也不会销毁。

  1. 关闭服务器
  1. session会话时间过期。 有效期过了,默认有效期: 30分钟。
Session

也是基于cookie的一种会话技术, 数据存放存放在服务器端

会在cookie里面添加一个字段 JSESSIONID . 是tomcat服务器生成。

setAttribute 存数据

getAttribute 取数据

removeAttribute 移除数据

getSessionId(); 获取会话id

invalidate() 强制让会话失效。

Spring Session 是 Spring 框架提供的用于管理和跟踪用户会话的解决方案。在使用 Spring Session 时,可以使用不同的方法来生成 session ID。 1. UUID(Universally Unique Identifier):使用 Java 提供的 UUID 类来生成 session ID,该方法生成的 ID 是全局唯一且不可预测的。可以通过调用 `UUID.randomUUID().toString()` 方法来获取一个随机生成的 UUID 字符串作为 session ID。 2. SecureRandom:可以使用 `java.security.SecureRandom` 类来生成 session ID,该类提供了生成安全随机数的方法。可以通过调用 `SecureRandom.getInstanceStrong()` 方法获取一个安全的随机数生成器实例,然后使用该实例生成 session ID。 3. 基于时间戳的生成器:可以使用当前时间戳来生成 session ID,这种方法生成的 ID 是递增的,但不是全局唯一的。可以通过调用 `System.currentTimeMillis()` 方法获取当前时间戳,并将其转换为字符串作为 session ID。 4. 自定义生成器:你也可以根据自己的需求,自定义生成 session ID 的方式。例如,可以使用用户名、IP 地址、时间戳等信息进行组合,然后进行哈希计算得到一个唯一的 session ID。 在 Spring Session 中,可以通过配置文件或代码来指定使用哪种方法来生成 session ID。可以调用 `setDefaultSessionIdGenerator()` 方法,并传入一个实现了 `SessionIdGenerator` 接口的类的实例来设定 session ID 的生成器。 以上是一些常见的生成 session ID 的方法,具体选择哪种方法取决于实际情况和需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值