当前位置: 首页 > news >正文

会话机制:Session

1、什么是会话:

  • 会话对应的英语单词:session

  • 用户打开浏览器,进行一系列操作,然后最终将浏览器关闭,这个整个过程叫做:一次会话。会话在服务器端也有一个对应的java对象,这个java对象叫做:session。

  • 什么是一次请求:用户在浏览器上点击了一下,然后到页面停下来,可以粗略认为是一次请求。请求对应的服务器端的java对象是:request。

  • 一个会话当中包含多次请求。(一次会话对应N次请求。)

2、在java的servlet规范当中,session对应的类名:HttpSession(jarkata.servlet.http.HttpSession)(tomcat10版本)

3、session机制属于B/S结构的一部分。如果使用php语言开发WEB项目,同样也是有session这种机制的。session机制实际上是一个规范。然后不同的语言对这种会话机制都有实现。

4、session对象最主要的作用是:保存会话状态。(用户登录成功了,这是一种登录成功的状态,你怎么把登录成功的状态一直保存下来呢?使用session对象可以保留会话状态。)

5、为什么需要session对象来保存会话状态呢?

  • 因为HTTP协议是一种无状态协议。

  • 什么是无状态:请求的时候,B和S是连接的,但是请求结束之后,连接就断了。为什么要这么做?HTTP协议为什么要设计成这样?因为这样的无状态协议,可以降低服务器的压力。请求的瞬间是连接的,请求结束之后,连接断开,这样服务器压力小。

6、session对象的实现

//设置session
HttpSession session = request.getSession();
//给session设置为键值对,例如
session.setAttribute("username",username);
//获取
Object username = session.getAttribute(username);

7、session的实现原理:

  • JSESSIONID=xxxxxx 这个是以Cookie的形式保存在浏览器的内存中的。浏览器只要关闭。这个cookie就没有了。

  • session列表是一个Map,map的key是sessionid,map的value是session对象。

  • 用户第一次请求,服务器生成session对象,同时生成id,将id发送给浏览器。

  • 用户第二次请求,自动将浏览器内存中的id发送给服务器,服务器根据id查找session对象。

  • 关闭浏览器,内存消失,cookie消失,sessionid消失,会话等同于结束。

8、销毁session对象:

session.invalidate();

http://www.lryc.cn/news/354417.html

相关文章:

  • MySQL中, 自增主键和UUID作为主键有什么区别?
  • 机器人与AI:结合应用与未来展望
  • PyTorch学习笔记:新冠肺炎X光分类
  • 【Python】 XGBoost模型的使用案例及原理解析
  • Java中print,println,printf的功能以及区别
  • vue3+electron+typescript 项目安装、打包、多平台踩坑记录
  • 实际案例分析
  • JAVA实现图书管理系统(初阶)
  • 【Torch学习笔记】
  • LeetCode算法题:42. 接雨水(Java)
  • LINGO:存贮问题
  • 《微服务王国的守护者:Spring Cloud Dubbo的奇幻冒险》
  • (九)npm 使用
  • Thinkphp5内核宠物领养平台H5源码
  • 一、Elasticsearch介绍与部署
  • NL6621 实现获取天气情况
  • SpringCloud配置文件bootrap
  • 经典面试题:进程、线程、协程开销问题,为什么进程切换的开销比线程的大?
  • 鸿蒙 DevEco Studio 3.1 Release 下载sdk报错的解决办法
  • QGIS开发笔记(二):Windows安装版二次开发环境搭建(上):安装OSGeo4W运行依赖其Qt的基础环境Demo
  • 设计一套Kafka到RocketMQ的双写+双读技术方案,实现无缝迁移!
  • Mysql下Limit注入方法(此方法仅适用于5.0.0<mysql<5.6.6的版本)
  • Makefile学习笔记15|u-boot顶层Makefile01
  • C++笔记之Unix时间戳、UTC、TSN、系统时间戳、时区转换、local时间笔记
  • leetcode338-Counting Bits
  • sql server怎么存储图片
  • 大模型提示词Prompt学习
  • 蓝桥杯python组备赛指南
  • 架构师系列-定时任务解决方案
  • 新计划,不断变更!做自己,接受不美好!猪肝移植——早读(逆天打工人爬取热门微信文章解读)