一、什么是session

session用于跟踪客户的状态

session指的是在同一段时间,单个客户与web服务器的一连串的交互过程

在一个session中,客户可能会多次请求访问同一个网页,也可能请求访问各种不同的服务器资源

二、session的工作原理

http:无状态 无连接

session被用于表示一个持续的连接状态,在网站访问中一般指代客户端浏览器的进程从开启到结束的过程。session其实就是网站分析的访问(visits)度量,表示一个访问的过程。

session的常见实现形式是会话cookie(session cookie),即未设置过期时间的cookie,这个cookie的默认生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。

实现机制是当用户发起一个请求的时候,服务器会检查该请求中是否包含sessionid,如果未包含,则系统会创造一个名为JSESSIONID的输出 cookie返回给浏览器(只放入内存,并不存在硬盘中),并将其以HashTable的形式写到服务器的内存里面;当已经包含sessionid是,服务端会检查找到与该session相匹配的信息,如果存在则直接使用该sessionid,若不存在则重新生成新的 session。

这里需要注意的是session始终是由服务端创建的,并非浏览器自己生成的。 但是浏览器的cookie被禁止后session就需要用get方法的URL重写的机制或使用POST方法提交隐藏表单的形式来实现

三、如何获取session

  • HttpSession session=request.getSession();

  • 唯一标记: session.getId()

  • 最后一次访问时间,毫秒:session.getLastAccessedTime()

  • 获取最大的空闲时间,单位秒:getMaxInactiveInterval()

  • 获取Session的创建,单位毫秒 :session.getCreationTime()

  • 使用session绑定对象: session.setAttribute(属性名,Object)

  • 删除session : session.invalidate()

四、session的超时

HttpSession的最后一程访问时间和当前时间的差距大于了指定的最大空闲时间,这时服务器就会销毁Session对象。

默认的空闲时间为30分钟

五、session失效的几种情况

1、超过了设置的超时时间
2、主动调用了invalidate方法
3、服务器主动或异常关闭
注意:浏览器关闭并不会让Session失效

状态管理技术~~Session相关推荐

  1. 技术状态管理(五)-技术状态记实

    技术状态管理-技术状态记实 1.记录和报告的对象和内容   记录和报告的对象是技术状态项与技术状态信息.   技术状态项:即选定作为独立管理的客体的标识情况.与技术状态信息的一致性.偏离.更改.不合格 ...

  2. PDM系统在技术状态管理中的应用研究

    摘要:PDM(产品数据管理)技术以及相应的应用软件是上世纪80年代出现的,以技术管理为依托,具有四大内容即技术状态标识.技术状态控制.技术状态纪实和技术状态审核,形成自动化的办公流程,随着国民经济的不 ...

  3. 【分析总结】ASP.NET中的状态管理原理

    HTTP协议是介于请求.响应的断开时网络协议,与连接式的网络协议不同,例如,与我们熟悉的TCP协议相比,客户端与服务器并没有持续的连接存在,在每一次会话之后,连接都会被断开,在下一次请求的时候客户端会 ...

  4. 异步生成器_异步生成器作为状态管理的替代方法

    异步生成器 Async Generators is a simple but powerful feature that is now a part of JavaScript. It unlocks ...

  5. [ASP.NET]状态管理[摘自C#入门经典]

    [出处]:来自<C#入门经典>第三版中文版,P505-P506 [涉及]: 1.状态管理 [附注]: 看到这个表格总结得还是相当不错的,就摘抄下来了,兴许你看过,但没太在意,那就再看看吧. ...

  6. java零到一:Servlet和JSP-7:转发、重定向的区别 和状态管理

    1.转发和重定向的区别 请求对象和响应对象的作用域:请求对象到响应对象完成;         (1)转发所涉及的组件可以共享request,response           对象,而重定向不可以 ...

  7. Flutter入门三部曲(3) - 数据传递/状态管理 | 掘金技术征文

    Flutter数据传递 分为两种方式.一种是沿着数的方向从上向下传递状态.另一种是 从下往上传递状态值. 沿着树的方向,向下传递状态 按照Widgets Tree的方向,从上往子树和节点上传递状态. ...

  8. 状态管理之cookie使用及其限制、session会话

    # 1.什么是状态管理? 将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来. (cookie浏览器所涉及到的访问数据保存下来) # 2.如何进行状态管 ...

  9. 技术状态管理(六)-技术状态审核

    技术状态审核 1.基本要求   根据订购方合同.法律.法规.装备状态鉴定程序及要求.项目技术状态管理计划明确的对象.时机.方式开展功能技术状态审核和物理技术状态审核.需要鉴定定型的产品.技术状态项的技 ...

最新文章

  1. APP测试和传统软件测试有什么区别?
  2. 16福师计算机应用基础在线作业,16春季福师《计算机应用基础》在线作业二.doc...
  3. ExecuteScalar
  4. Android热更新开源项目Tinker集成实践总结
  5. 迷宫(信息学奥赛一本通-T1215)
  6. oracle中通过distinct为什么过滤不了重复的数据_spark | 手把手教你用spark进行数据预处理...
  7. 前端面试常考的手写代码不是背出来的!
  8. 禁止国外IP连接服务器
  9. access无法 dolby_Win10专业版装不了dolby该怎么办?Win10 dolby音效驱动安装教程
  10. 微搭低代码中实现数据的联动选择
  11. python安装imageai库方法_小白对 imageAI环境搭建 实现object detection 的初使用(自己所用)...
  12. 2022 年面向初学者的 10 大免费 3D 建模软件
  13. a4在html中的尺寸,网页设立A4大小
  14. 软通动力华为外包_软通动力外包到百度?
  15. 网站安全检测:推荐8款免费的 Web 安全测试工具
  16. catalina 无法验证macos_macOS 10.15 Catalina无法打开app,提示“因为无法确认开发者身份”问题的解决方法......
  17. codeup刷题 2.6小节——C/C++快速入门->函数 ——《算法笔记》(胡凡)
  18. windbg下载符号方法
  19. 论文精读:GHM:Gradient Harmonized Single-stage Detector
  20. 12315提交显示服务器出错,发送到某些地址时出现 Smtp 问题 - 错误:服务器不接受 rcpt...

热门文章

  1. Java基础---方法的重载(overload)+ 优先向上匹配原则
  2. 数字类型转换 --Python3
  3. 全屏使用swiper.js过程中遇到的坑
  4. mfc控件位置随对话框窗口移动
  5. Java变量名命名规则
  6. C# mysql 链接 遇到 异常 Authentication with old password no longer supported, use 4.1 style passwords....
  7. 【折腾的一个小玩意】基于jquery+百度音乐的音乐外链小工具
  8. 使用scp命令传输文件
  9. ios-实现ARC与MRC混编
  10. Kindeditor JS 取值。。。