What is Session?

Session代表着服务器和客户端一次会话的过程。直到session失效(服务端关闭),或者客户端关闭时结束。

How does session works?

Session 是存储在服务端的,并针对每个客户端(客户),通过SessionID来区别不同用户的。Session是以Cookie技术或URL重写实现。默认以Cookie技术实现,服务端会给这次会话创造一个JSESSIONID的Cookie值。

  • 当一个Session开始时,Servlet容器会创建一个HttpSession对象,那么在HttpSession对象中,可以存放用户状态的信息

  • Servlet容器为HttpSession对象分配一个唯一标识符即Sessionid,Servlet容器把Sessionid作为一种Cookie保存在客户端的 *浏览器* 中

  • 用户每次发出Http请求时,Servlet容器会从HttpServletRequest对象中取出Sessionid,然后根据这个Sessionid找到相应的HttpSession对象,从而获取用户的状态信息

网络安全:

浏览器关闭后,Session会话结束了么?

让Session结束生命周期,有以下两种办法:

  • 一个是Session.invalidate()方法,不过这个方法在实际的开发中,并不推荐,可能在强制注销用户的时候会使用;
  • 一个是当前用户和服务器的交互时间超过默认时间后,Session会失效

其实之前的Session一直都在服务器端,而当我们关闭浏览器时,此时的Cookie是存在

于浏览器的进程中的,当浏览器关闭时,Cookie也就不存在了。

其实Cookie有两种:

  • 一种是存在于浏览器的进程中;
  • 一种是存在于硬盘上

而session的Cookie是存在于浏览器的进程中,那么这种Cookie我们称为会话Cookie,

当我们重新打开浏览器窗口时,之前的Cookie中存放的Sessionid已经不存在了,此时

服务器从HttpServletRequest对象中没有检查到sessionid,服务器会再发送一个新的存

有Sessionid的Cookie到客户端的浏览器中,此时对应的是一个新的会话,而服务器上

原先的session等到它的默认时间到之后,便会自动销毁。

HttpSession的简介相关推荐

  1. java mvc模式工作流程_SpringMVC的简介和工作流程

    一.简介 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.Spri ...

  2. Java Servlet 技术简介

    开始之前 关于本教程 在您最喜欢的 Web 浏览器中,您所阅读的页面是如何出现的呢?当登录到您最喜欢的 Web 站点时,该 Web 站点如何知道登录的用户是您?而 Web 零售商又如何接受您的在线订购 ...

  3. Freemarker 简介 及手册

    FreeMarker 手册 什么是FreeMarker? FreeMarker是一款模板引擎:即一种基于模板.用来生成输出文本(任何来自于HTML格式的文本用来自动生成源代码)的通用工具.它是为Jav ...

  4. Spring Boot - Thymeleaf模板简介以及集成

    文章目录 Spring Boot - Thymeleaf模板简介以及集成 1.什么是Thymeleaf? 2.标准表达式 2.1 变量表达式 2.2 选择表达式/星号表达式 2.3 URL表达式 2. ...

  5. javax.servlet-api 简介、中文文档、中英对照文档 下载

    javax.servlet-api 文档 下载链接(含jar包.源码.pom) 组件名称 中文-文档-下载链接 中英对照-文档-下载链接 javax.servlet-api-3.1.0.jar 暂无 ...

  6. Mybatis简介及其核心概念

    千寻铁锁沉江底,一片降幡出石头.--刘禹锡<西塞山怀古> Mybatis简介 Mybatis是什么? MyBatis(3.x以前的版本叫ibatis)是一款一流的支持自定义SQL.存储过程 ...

  7. JSP系列一:JSP简介

    378 一,JSP简介  JSP是建立在Servlet规范提供的功能之上的动态网页技术. 1,Servlet和JSP:servlet是含有HTML的Java代码,JSP是含有Java代码的HTML. ...

  8. JSP学习---jsp简介和理解jsp的本质

    本篇博课知识点: 1.jsp技术简介 2.Tomcat首次访问JSP的过程: 3.JSP语法: 4.代码演示 jsp技术简介 JSP是Java Server Page的缩写,它是Servlet的扩展, ...

  9. 《Oracle Java EE编程自学和面试指南》09-02:HttpSession接口

    深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版). 深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版). 内容导航: 前言 1.HttpSe ...

  10. irepot使用简介

    一.iReport简介 说到iReport不得不先介绍Jasperreport,Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件. ...

最新文章

  1. eclipse开发javaweb项目中The superclass javax.servlet.http.HttpServlet was not found on the Java Build
  2. 017 矩阵中的路径
  3. 为提升效率,阿里取消周报制度?醒醒吧,自动化报表才是出路
  4. python中的连续比较是什么_Python算法的分治算法,python,之,连续,子,列表,最大,和...
  5. 目前流行的源程序版本管理软件和项目管理的软件优缺点
  6. IEC 60601-2-33:2022 《医疗诊断用磁共振设备基本安全和基本性能的特殊要求》。
  7. 计算机操作常用的五大功能是,计算机操作系统的五大功能是什么
  8. Stone教程:一行代码就可以把3D场景植入到普通网页中
  9. Idea 去掉 mapper.xml 文件的黄色、淡绿色警告(Windows、Mac)
  10. 【Arduino+ESP32专题】一起来读INA3221数据手册 1
  11. Android Studio计算BMI小软件
  12. jQuery搜索高亮显示
  13. 一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】
  14. socket广播报文收发简单梳理
  15. Zynq-Linux移植学习-通过IIC访问RXS2448交换芯片
  16. asc量子计算机,2020ASC世界大学生超级计算机竞赛聚焦量子计算和语言智能
  17. Python中函数的常见操作(创建、调用、递归函数等等)【非常详细】
  18. java 解析swf_基于Java SWFTools实现把pdf转成swf
  19. 基于CTP的程序化交易系统开发
  20. 渗透测试——bluecms安装及seay代码审计

热门文章

  1. 数据库管理系统属于计算机应用,数据库管理系统属于应用软件吗?
  2. Python电影售票系统
  3. 【T3】将“恢复记账前状态”按钮放置到工作台,一直显示。
  4. Matlab信号处理综合工具
  5. 基于WeMos的WiFi避障小车
  6. convertTo的用法
  7. 自己收藏整理的一些操作系统资源
  8. layui 表单验证案例
  9. 【解决方案】重新安装Ubuntu显卡驱动
  10. matlab聚类画图怎么做,[转载]用MATLAB做聚类分析