Session视频教程,入门实战精讲 - 极悦
首页 课程 师资 教程 报名

Session视频教程,入门实战精讲

  • 2021-01-07 16:44:33
  • 1141次 极悦

Session 是Spring家族中的一个子项目,它提供一组API和实现,用于管理用户的session信息,它把servlet容器实现的httpSession替换为spring-session,专注于解决 session管理问题,Session信息存储在Redis中,可简单快速且无缝的集成到我们的应用中;

 

session视频教程

 

Session的创建

 

当客户端向服务器发送一个请求时,服务器首先检查请求里是否包含SessionID,如果包含了SessionID则说明该客户端已经登录过并且服务端为此客户端创建了一个Session,服务器就依照SessionID将这个Session在服务器中找出来(如果找不到,就有可能为他新创建一个)。如果客户端请求里不包含SessionID,则为该客户新创建一个Session并生成一个与此Session相关的SessionID。这个SessionID是不重复的,唯一的,不容易找到规律的字符串。这个SessionID将在本次响应中返回到客户端保存。

 

Session是在服务端调用HttpServletRequest.getSession(true);这样的语句时才被创建,如果JSP没有显式的使用page Session=”false”关闭Session,则JSP文件在编译成Servlet时将会自动加上HttpServletRequest.getSession(true);这就是JSP内置对象session的由来。

 

Session的存储机制

 

一般情况下,Session都是存储在内存中,当服务器进程被停止或者重启的时候,内存里的Session也会被清空。如果设置了Session的持久化特性,服务器就会把Session保存到硬盘上,当服务器进程重新启动后Session里的信息能够被再次使用。

 

Session的存储方式及各存储方式下Session属性值是否需要可序列化:

 

InProc(默认):不需要序列化,存放在IIS进程中(内存),重启IIS服务器时会话状态消失。

 

SQLServer:需要序列化,存放在数据库中,存储在硬盘中。

 

StateServer:需要序列化,存放在Asp.Net状态服务进程中,重启Web应用时保留会话状态。

 

Session的失效

 

Session在下列情况下失效:

 

程序调用HttpSession.invalidate();

 

距离上一次收到客户端发送的SesionID时间间隔超过了Session的超时设置,tomcat默认session超时时间为30分钟;

 

服务器进程被停止(非持久Session);

 

我们常说打开浏览器就创建了一个Session,关闭浏览器时Session也被删除,事实上,除非程序通知服务器删除Session,否则Session会被服务器一直保留,直到Session的失效时间到了自动删除。服务器不知道浏览器被关闭,浏览器不会主动地在其关闭之前通知服务器它将要关闭。程序一般是在用户注销后删除Session。我们产生这种错觉地原因是:一般Session机制都使用cookie来保存SessionID,而一旦关闭浏览器,SessionID就不存在了,再连接服务器时找不到原来的Session了。如果cookie保存在硬盘中,或者用某种手段改写浏览器发出的HTTP请求头,把原来的SessionID发送给服务器,则再次打开浏览器仍然能够找到原来的Session。

 

恰恰由于关闭浏览器时不会让Session被删除,迫使服务器为Session设置了一个失效时间。当距离客户端上一次使用Session的时间超过失效时间,服务器就认为客户端已经停止了活动,才会把Session删除以节省存储空间。

 

session视频教程

 

零基础学习Session,推荐极悦的Session菜鸟教程,此课程详细讲解Spring session如何解决集群模式/分布式/跨域环境下,实现session的同步共享问题,是构建大规模应用必须要考虑的一个问题。

 

课程学习目录


1.Session视频教程:Session的基本用法
2.Session视频教程:Session的工作原理
3.Session视频教程:Session的失效
4.Session视频教程:Cookie禁用后的Session
5.Session视频教程:Cookie禁用后重定向跳转时Session的跟踪
6.Session视频教程:Cookie禁用后非重定向跳转时Session的跟踪
7.Session视频教程:三个域属性空间的对比
8.Session视频教程:Eclipse中的WorkingSets用法

 

以上就是对“Session视频教程,入门实战精讲”的介绍,希望对大家有所帮助,还想学习更多关于Java的课程,可以关注极悦官网,免费下载学习。

 

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交