状态管理技术~~Session
一、什么是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.记录和报告的对象和内容 记录和报告的对象是技术状态项与技术状态信息. 技术状态项:即选定作为独立管理的客体的标识情况.与技术状态信息的一致性.偏离.更改.不合格 ...
- PDM系统在技术状态管理中的应用研究
摘要:PDM(产品数据管理)技术以及相应的应用软件是上世纪80年代出现的,以技术管理为依托,具有四大内容即技术状态标识.技术状态控制.技术状态纪实和技术状态审核,形成自动化的办公流程,随着国民经济的不 ...
- 【分析总结】ASP.NET中的状态管理原理
HTTP协议是介于请求.响应的断开时网络协议,与连接式的网络协议不同,例如,与我们熟悉的TCP协议相比,客户端与服务器并没有持续的连接存在,在每一次会话之后,连接都会被断开,在下一次请求的时候客户端会 ...
- 异步生成器_异步生成器作为状态管理的替代方法
异步生成器 Async Generators is a simple but powerful feature that is now a part of JavaScript. It unlocks ...
- [ASP.NET]状态管理[摘自C#入门经典]
[出处]:来自<C#入门经典>第三版中文版,P505-P506 [涉及]: 1.状态管理 [附注]: 看到这个表格总结得还是相当不错的,就摘抄下来了,兴许你看过,但没太在意,那就再看看吧. ...
- java零到一:Servlet和JSP-7:转发、重定向的区别 和状态管理
1.转发和重定向的区别 请求对象和响应对象的作用域:请求对象到响应对象完成; (1)转发所涉及的组件可以共享request,response 对象,而重定向不可以 ...
- Flutter入门三部曲(3) - 数据传递/状态管理 | 掘金技术征文
Flutter数据传递 分为两种方式.一种是沿着数的方向从上向下传递状态.另一种是 从下往上传递状态值. 沿着树的方向,向下传递状态 按照Widgets Tree的方向,从上往子树和节点上传递状态. ...
- 状态管理之cookie使用及其限制、session会话
# 1.什么是状态管理? 将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来. (cookie浏览器所涉及到的访问数据保存下来) # 2.如何进行状态管 ...
- 技术状态管理(六)-技术状态审核
技术状态审核 1.基本要求 根据订购方合同.法律.法规.装备状态鉴定程序及要求.项目技术状态管理计划明确的对象.时机.方式开展功能技术状态审核和物理技术状态审核.需要鉴定定型的产品.技术状态项的技 ...
最新文章
- APP测试和传统软件测试有什么区别?
- 16福师计算机应用基础在线作业,16春季福师《计算机应用基础》在线作业二.doc...
- ExecuteScalar
- Android热更新开源项目Tinker集成实践总结
- 迷宫(信息学奥赛一本通-T1215)
- oracle中通过distinct为什么过滤不了重复的数据_spark | 手把手教你用spark进行数据预处理...
- 前端面试常考的手写代码不是背出来的!
- 禁止国外IP连接服务器
- access无法 dolby_Win10专业版装不了dolby该怎么办?Win10 dolby音效驱动安装教程
- 微搭低代码中实现数据的联动选择
- python安装imageai库方法_小白对 imageAI环境搭建 实现object detection 的初使用(自己所用)...
- 2022 年面向初学者的 10 大免费 3D 建模软件
- a4在html中的尺寸,网页设立A4大小
- 软通动力华为外包_软通动力外包到百度?
- 网站安全检测:推荐8款免费的 Web 安全测试工具
- catalina 无法验证macos_macOS 10.15 Catalina无法打开app,提示“因为无法确认开发者身份”问题的解决方法......
- codeup刷题 2.6小节——C/C++快速入门->函数 ——《算法笔记》(胡凡)
- windbg下载符号方法
- 论文精读:GHM:Gradient Harmonized Single-stage Detector
- 12315提交显示服务器出错,发送到某些地址时出现 Smtp 问题 - 错误:服务器不接受 rcpt...
热门文章
- Java基础---方法的重载(overload)+ 优先向上匹配原则
- 数字类型转换 --Python3
- 全屏使用swiper.js过程中遇到的坑
- mfc控件位置随对话框窗口移动
- Java变量名命名规则
- C# mysql 链接 遇到 异常 Authentication with old password no longer supported, use 4.1 style passwords....
- 【折腾的一个小玩意】基于jquery+百度音乐的音乐外链小工具
- 使用scp命令传输文件
- ios-实现ARC与MRC混编
- Kindeditor JS 取值。。。