服务器端的sessionId如何实现7天的保存?

服务器端的sessionId如何实现7天的保存?

老师,您好!我看其他问题中说通过把sessionid放在cookie中,然后设置cookie 的保存时间就可以实现将sessionid保存7天,因为cookie是保存在浏览器端的,那么在服务器端的sessionid是如何保存这么久的?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,1. 是的,服务端的session对象被清除默认是30min

2. 如果已经包含一个sessionid则说明以前已经为此客户创建过session,服务器就按照sessionid把这个session检索出来使用。如果检索不到session,可能会新建一个session(这种情况可能出现在服务端已经删除了该用户对应的session对象,但用户人为地在请求的URL后面附加上一个JSESSION的参数。)新的sessionid会覆盖cookie中旧的sessionid。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小尤 2020-07-29 16:34:45

同学你好,1、sessionID用来判断是同一次会话,根据此案例,同学可以理解为是判断用户是否登录。

2. 当服务器端的sessionID被清除时,sessionID对应的session对象在服务器中还是存在的。

3. 可以通过sessionID找到服务器中的session对象。

4. session在下列情况下被删除:

  • 程序调用HttpSession.invalidate()

  • 距离上一次收到客户端发送的session id时间间隔超过了session的最大有效时间

  • 服务器进程被停止

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 mahsiaoko #1
    谢谢。 服务端的session对象被清除默认是30min吗?假如session被清除,而浏览器端还保存有sessionid,那么浏览器使用该sessionid进行查询,是不是就会查不到内容了?此时服务端应该会创建一个新的session吧。然后新的sessionid是不是覆盖cookie中旧的sessionid
    2020-07-29 16:47:00
好帮手慕小尤 2020-07-29 11:31:04

同学你好,SessionID会保存在Cookie中,可以通过Cookie获取到SessionID,所以当实现七天免登陆时,可以直接从Cookie中获取SessionID,则SessionID并不需要在服务器上保存七天。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 mahsiaoko #1
    服务器端的sessionID被清除,但是sessionID所对应的存储地址还在,是这样的吗?浏览器端直接使用sessionID就可以从服务端的这个地址取得数据?
    2020-07-29 11:42:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师