请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 222|回复: 1

Session技术

[复制链接]

19

主题

21

帖子

173

积分

注册会员

Rank: 2

积分
173
发表于 2023-2-8 14:21:35 | 显示全部楼层 |阅读模式
session概述 session是服务器端的技术。服务器为每一个浏览器开辟一块内存空间,即session对象。由于session对象是每一个浏览器特有的,所以用户的记录可以存放在session对象中Session的API
equest.getSession(); 获得session(如果第一次调用的时候其实是创建session,第一次之后通过sessionId找到session进行使用)
Object getAttribute(String name) ;获取值
void setAttribute(String name, Object value) ;存储值
void removeAttribute(String name)  ;移除值


Session的工作机制
  • 服务器端没调用request.getSession()方法:什么都不会发生
  • 服务器端调用了request.getSession()方法
    • 服务器端检查当前请求中是否携带了JSESSIONID的Cookie
      • 有:根据JSESSIONID在服务器端查找对应的Session对象
        • 能找到:将找到的Session对象作为request.getSession()方法的返回值返回
        • 找不到:服务器端新建一个Session对象作为request.getSession()方法的返回值返回

      • 无:服务器端新建一个Session对象作为request.getSession()方法的返回值返回



Session的时效性:
Session叫会话,存储在服务器端,相对安全,默认时间是30分钟。客户端一旦与服务器端建立连接,则服务器马上为这个客户端创建Session.并返回一个Sessionld给客户端,客户端每次请求都会带着这个Id。这个Sessionld与浏览器相关,如果关闭浏览器,Id会丢失,再次访问服务器,服务器会再次产生新的Session给客户端。
如果客户端在30分钟内没有新的请求过来,则服务器会清除这个Session。
如果是浏览器关闭了,Sessionld会丢失,则表示Session对象失效,服务器也只能是30分钟后再清除这个对象。



回复

使用道具 举报

19

主题

21

帖子

173

积分

注册会员

Rank: 2

积分
173
 楼主| 发表于 2023-2-8 14:22:21 | 显示全部楼层
牛波一
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2023-3-24 17:00 , Processed in 0.041744 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表