HttpSession的简介
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的简介相关推荐
- java mvc模式工作流程_SpringMVC的简介和工作流程
一.简介 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.Spri ...
- Java Servlet 技术简介
开始之前 关于本教程 在您最喜欢的 Web 浏览器中,您所阅读的页面是如何出现的呢?当登录到您最喜欢的 Web 站点时,该 Web 站点如何知道登录的用户是您?而 Web 零售商又如何接受您的在线订购 ...
- Freemarker 简介 及手册
FreeMarker 手册 什么是FreeMarker? FreeMarker是一款模板引擎:即一种基于模板.用来生成输出文本(任何来自于HTML格式的文本用来自动生成源代码)的通用工具.它是为Jav ...
- Spring Boot - Thymeleaf模板简介以及集成
文章目录 Spring Boot - Thymeleaf模板简介以及集成 1.什么是Thymeleaf? 2.标准表达式 2.1 变量表达式 2.2 选择表达式/星号表达式 2.3 URL表达式 2. ...
- javax.servlet-api 简介、中文文档、中英对照文档 下载
javax.servlet-api 文档 下载链接(含jar包.源码.pom) 组件名称 中文-文档-下载链接 中英对照-文档-下载链接 javax.servlet-api-3.1.0.jar 暂无 ...
- Mybatis简介及其核心概念
千寻铁锁沉江底,一片降幡出石头.--刘禹锡<西塞山怀古> Mybatis简介 Mybatis是什么? MyBatis(3.x以前的版本叫ibatis)是一款一流的支持自定义SQL.存储过程 ...
- JSP系列一:JSP简介
378 一,JSP简介 JSP是建立在Servlet规范提供的功能之上的动态网页技术. 1,Servlet和JSP:servlet是含有HTML的Java代码,JSP是含有Java代码的HTML. ...
- JSP学习---jsp简介和理解jsp的本质
本篇博课知识点: 1.jsp技术简介 2.Tomcat首次访问JSP的过程: 3.JSP语法: 4.代码演示 jsp技术简介 JSP是Java Server Page的缩写,它是Servlet的扩展, ...
- 《Oracle Java EE编程自学和面试指南》09-02:HttpSession接口
深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版). 深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版). 内容导航: 前言 1.HttpSe ...
- irepot使用简介
一.iReport简介 说到iReport不得不先介绍Jasperreport,Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件. ...
最新文章
- eclipse开发javaweb项目中The superclass javax.servlet.http.HttpServlet was not found on the Java Build
- 017 矩阵中的路径
- 为提升效率,阿里取消周报制度?醒醒吧,自动化报表才是出路
- python中的连续比较是什么_Python算法的分治算法,python,之,连续,子,列表,最大,和...
- 目前流行的源程序版本管理软件和项目管理的软件优缺点
- IEC 60601-2-33:2022 《医疗诊断用磁共振设备基本安全和基本性能的特殊要求》。
- 计算机操作常用的五大功能是,计算机操作系统的五大功能是什么
- Stone教程:一行代码就可以把3D场景植入到普通网页中
- Idea 去掉 mapper.xml 文件的黄色、淡绿色警告(Windows、Mac)
- 【Arduino+ESP32专题】一起来读INA3221数据手册 1
- Android Studio计算BMI小软件
- jQuery搜索高亮显示
- 一个Android开发者开博一周年的成长日记——送给不知如何下手的【初级开发者】和【在校生】
- socket广播报文收发简单梳理
- Zynq-Linux移植学习-通过IIC访问RXS2448交换芯片
- asc量子计算机,2020ASC世界大学生超级计算机竞赛聚焦量子计算和语言智能
- Python中函数的常见操作(创建、调用、递归函数等等)【非常详细】
- java 解析swf_基于Java SWFTools实现把pdf转成swf
- 基于CTP的程序化交易系统开发
- 渗透测试——bluecms安装及seay代码审计