会话技术

《Session/Cookie 封神教程!3张图 + 可运行代码,讲透会话技术(原理 + 实战 + 避坑)》 《Session/Cookie 封神教程!三张图 + 可运行代码,讲透会话技术(原理 + 实战 + 避坑)》 阅读详情

常见的域对象(掌握)

1.ServletContext 表示应用级别的域对象
2.request 域对象
3.session 会话的域对象
4.cookie 会话的域对象

request 域对象(掌握)

这个域对象是和请求相关的域对象,域对象中存储的值只能在同一个request中使用

request域在转发中使用比较多

request.getRequestDispatcher("路径").forward(request,response);
//重定向
response.sendRedirect("路径");

转发和重定向的区别:(掌握)

1.转发只有一次请求,这个转发会在服务器内部完成。重定向是两次请求,首先请求来到服务器,服务器给浏览器发送一个新的url,让浏览器重新去请求新的url
2.转发浏览器的网址不会发生改变,重定向浏览器的网址会发生改变
3.转发只能够转发到服务器的内部资源,重定向可以定向到外部资源

在request域中保存的信息只能在转发中使用

关于转发和重定向的路径问题:(掌握)

转发技术: / 代表的含义是当前web应用的根路径 /指定资源

重定向技术: / 代表的含义是tomcat中webapps目录 /项目名称/指定资源

会话引入(了解)

ServletContext

HttpServletRequest

HttpSession

Cookie

用ServletContext来实现登录:
用户在页面输入账号密码 zhangsan 123
登录请求来到loginServlet
接下来在loginServlet保存数据 this.getServletContext().setAttribute(“user”,user);

先开一个谷歌 输入账号张三 123
再开一个firefox 输入账号李四 123

我们想要用户数据在一次会话中保存,那么我们就要来学习会话技术。

//生活中会话
从我打电话过去,到对方接收 ,会话一旦建立,就可以进行通信了,通信的时候必然会有数据的传递

//web中的会话
一次会话:打开浏览器–>访问服务器的数据—>关闭浏览器 (这句话有问题,后面会纠正)

cookie技术:(掌握)
会话中产生的数据是保存在浏览器中(不是存在服务器上的)
自动登录

怎么使用cookie技术:
1)构造Cookie对象

new  Cookie(java.lang.String name, java.lang.String value)

2)发送cookie到浏览器端保存

void response.addCookie(Cookie cookie)  : 发送cookie

3)服务器接收客户端发送的cookie

Cookie[] request.getCookies()  : 接收cookie

cookie是如何工作的:(掌握)

1.第一次请求服务器的时候,在服务器创建一个cookie对象,然后将该cookie对象加到响应头中,发送到浏览器
2.浏览器接收到服务器发送过来的cookie信息之后,会将该cookie信息保存起来
3.当浏览器再次向服务器发送请求的时候,会自动将所有保存的cookie信息放到请求头中一起提交到服务器
4.服务器就可以获取来自请求中的cookie数据了

cookie的使用细节:(掌握)

cookie.setMaxAge(24*60*60);   //cookie数据一天后过期
cookie.setMaxAge(-1) ;    //表示关闭浏览器的时候cookie数据就消失,默认是负数
cookie.setMaxAge(0) ;    //表示立马清空该cookie数据

cookie只能够保存非中文的字符串数据,每个cookie最大为4kb,每个站点最多可以存20个cookie

关于setPath(“”) 方法

Cookie c2 = new Cookie("pwd","123456");
c2.setPath("/3.6Pro/FirstServlet");
response.addCookie(c2);

上面代码的含义:

1.首先c2会存放到浏览器的/3.6Pro/FirstServlet路径下
2.只有我们通过浏览器来访问/3.6Pro/FirstServlet这个路径的时候,请求头中才会把c2的信息带过来,访问其他路径不会携带该c2信息

HttpSession
HttpSession在会话中的数据是保存到服务器的

HttpSession常用的方法:
HttpSession s1 = request.getSession( ) ; 获取一个session对象
s1.setAttribute(“key”,”value”);
s1.getAttribute(“key”);
s1.removeAttribute(“key”);

Session的实现原理:

1.当第一次访问服务器的时候,如果servlet中写了HttpSession session = request.getSession()代码,则会创建一个新的session对象,给这个session对象分配一个唯一的sessionID
2.tomcat服务器会创建一个cookie对象,然后将这个cookie对象放到response中返回到浏览器
Cookie cook = new Cookie(“JSESSIONID”,sessionID);
3.浏览器接收到服务器的cookie响应数据,会将该cookie信息保存到起来
4.当第二次再去请求服务器的时候,如果servlet中同样写了HttpSession session = request.getSession()代码,这个时候在请求中会自动包含Cookie信息,cookie信息中就自带了sessionID,这个时候服务器内部就是根据sessionID来查找当前sessionID对应
的session对象是否存在,如果存在,即返回该对象,如果不存在,则创建一个新的session

如果我们想在关闭浏览器之后重新打开浏览器还能够访问之前所存的session数据,那么我们需要设置cookie有效时间

HttpSession session = request.getSession();
 System.out.println(session.getId());
 session.setAttribute("name", "tom");
 Cookie c = new Cookie("JSESSIONID", session.getId());
 c.setMaxAge(24*60*60);
 response.addCookie(c);

会话 :打开浏览器 --->请求 --->关闭浏览器  一次会话   (这句话是有问题的)
当我们关闭浏览器的时候,存在服务器的session对象没有销毁,因此浏览器的关闭并不涉及session对象的销毁

Session什么时候销毁呢?

1.正常情况下,如果我们没有设置session的有效时间,那么默认session会存在30分钟(从最后一次访问服务器的时间开始算起)
2.如果我们手动设置了session的有效时间,那么按我们设置的进行

如何设置session的有效时间呢?

1.session.setMaxInactiveInterval(10);
2.Session的全局配置,在web.xml中添加如下代码

<session-config>
        <session-timeout>1</session-timeout>   
</session-config>

3.invalidate(); 手动销毁session,这个方法调用之后,session对象就销毁了

Session在使用的时候要注意:
在哪个session中存储的,就在哪个session中读取

关于用户登录后保存用户数据:
Session来做:
A用户通过火狐浏览器来访问我们loginServlet

    HttpSession  s1 = request.getSession();
   s1.setAttribute("user",user);

B用户通过谷歌浏览器来访问我们loginServlet

   HttpSession  s1 = request.getSession();
   s1.setAttribute("user",user);

Javabean的使用

1.需要导入两个包
commons-beanutils-1.8.3.jar
commons-logging-1.1.3.jar

2.使用Javabean的核心类 BeanUtils

3.BeanUtils.populate(javaBean对象,map集合) 这个方法会自动将map集合中的数据放到javaBean对象中

javaweb——会话及其会话技术 文章目录一、会话概述二、cookie对象三、Session对象 一、会话概述 (1)概述:会话是浏览器和服务器之间的多次请求和响应 也就是说,从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止的这段时间内容产生的多次请求和响应,合起来叫做浏览器和服务器之间的一次会话 (2)为什么要使用会话技术呢? 实际上会话问题解决的还是客户端与服务器之间的通信问题,通过一些会话技术,可以将每个用户的数据以例如cookie/session的形式存储,方便以后用户访问web资源的时候使用 假定场景:A和B两人在某个 阅读详情

相关推荐

从涡流求解器到瞬态场:Maxwell 3D里无线充电仿真,选对求解器能省一半计算时间

本文深入探讨了Maxwell 3D在无线充电仿真中涡流求解器与瞬态求解器的选择策略,帮助工程师优化计算效率与精度。通过对比分析两种求解器的适用场景、性能差异及实战技巧,揭示如何根据频率特性、材料非线性和动态过程需求做出精准选择,可节省高达50%的计算时间。特别针对3D线圈模型的无线充电系统设计提供了专业建议。

weixin_26861329的博客 231

简述什么是会话技术?(Java Web)

会话技术的概述: 可以理解为:在日常生活中,从拨打电话到挂断电话之间的一系列通话过程就是一个会话。 会话技术分为Cookie技术和Session技术 Cookie技术:用于将会话过程中的数据保存到用户的浏览器中,从而使浏览器和服务器可以更好地进行数据交互。 Session技术:一种将会话数据保存到服务器的技术。 ...

wenter666的博客 5152

机械臂控制的基础知识

在现代工业中,机械臂的自动化控制已经成为智能制造的重要一环。控制机械臂涉及多个学科,包括机械设计、运动学、控制理论和编程等。本文将从以下几个方面介绍机械臂控制的核心知识点:机械臂的构成、运动学分析、动力学建模、控制方法及编程实现。

qq_45728381的博客 5470

会话技术(Session)

会话技术(Session) 什么是会话? 会话:生活中 一次谈话 一次交谈 会话是浏览器和服务器之间的多次请求和响应 为了实现某一个功能(比如买东西),浏览器和服务器之间可能会产生多次的请求和响应,从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止,这期间产生的多次请求和响应加在一起就称之为浏览器和服务器之间的一次会话 web中的会话:指的是 浏览器与服务器建立的一次连接 这次连接 就称之为一次会话 在这次会话中 可以包含多次请求与多次响应 并且可以在多次请求和响应间进行数据共享 会话技术 解决

cx9977的博客 3265

基于Web的智能家居(源码+开题)

实践上,智能家居系统的普及和应用将极大改善人们的居住体验,提高生活质量,同时也有助于促进智能家居产业链的发展和完善,为社会经济发展注入新的活力。此外,本研究还将对基于Web的智能家居系统的用户体验进行深入研究,通过用户调研和数据分析,不断优化系统功能和界面设计,提升用户的使用体验和满意度。针对以上问题,本研究将综合运用物联网、云计算、大数据等新一代信息技术,通过系统架构设计、功能模块开发、安全性保障、用户体验优化等多个方面的研究工作,力求为基于Web的智能家居系统的研发和应用提供全面而有效的解决方案。

sryue06的博客 1904

【BlueDroid】【BLE】低功耗蓝牙客户端和服务端开发流程解析(超详细)

1. 精讲):SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论2. 欢迎大家关注和订阅,和专栏会持续更新中.....敬请期待!

风云说通信 1925

Cookie&Session会话技术

第1章 案例:记录用户的上次访问的时间 1.1 需求: 当用户访问某些Web应用时,经常会显示出该用户上一次的访问时间。例如,QQ登录成功后,会显示用户上次的登录时间。通过本任务,读者将学会如何使用Cookie技术实现显示用户上次的访问时间的功能。 1.2 案例分析 1.2.1 流程分析与实现 1.2.2 新技术点分析 Cookie Cookie将用户的信息保存到客户端浏览器的一个技术,当下次访问的时候,浏览器会自动携带Cookie的信息过来到服务器端. Cookie的基本使用: 创建cooki

Sparks_t 1060

掌握RDMA核心:从同步构建到异步事件的连接艺术

本文深入解析RDMA编程中的双模式设计,揭示同步配置与异步事件机制的协作关系。第一部分阐述同步函数rdma_bind_addr和rdma_listen的本地化角色,强调它们仅完成本地端点配置。第二部分剖析异步事件模型,重点分析连接请求和建立事件的处理流程。通过完整生命周期序列图展示两种模式的交互过程,并提供错误处理、资源管理和性能调优的实用建议。文章指出,理解同步本地配置与异步网络响应这一责任划分,是掌握RDMA编程的关键所在。

数字人生 282

SpringBootWeb 篇-深入了解会话技术与会话跟踪三种技术(Cookie 会话跟踪、Session 会话跟踪与 JWT 令牌会话跟踪)

三种会话技术:Cookie、Session、JWT 令牌技术,生成 JWT 与校验 JWT 代码实现。一种维护浏览器状态的方法,服务器需要识别多次请求是否来自同一浏览器,以便在同一次会话的多次请求间共享数据。用户打开浏览器,访问 web 服务器的资源,会话建立,直到有一方断开,会话结束。在一次会话中可以包含多次请求和响应。

小扳手 5517

YOLOv13教程:手把手教你CSP_MutilScaleEdgeInformationSelect模块 通过DSM 在空间与局部对比域上做自适应选择

绿色线条为添加CSP_MutilScaleEdgeInformationSelect后的训练效果,map50指标提升12.45,准确率提升5.44。

FJN110的博客 816

光学系统仿真软件:OSLO_(13).衍射光学元件设计v1

目标函数是设计DOE的关键步骤之一。目标函数可以是一个具体的光强分布,也可以是一个特定的波前形状。在仿真软件中,目标函数通常用数学表达式或数据文件来定义。假设我们需要设计一个二元相位掩模,使其在特定位置生成三个焦点。我们可以定义一个目标函数来描述这三个焦点的光强分布。# 定义目标函数"""定义一个多焦点目标函数:param x: 横坐标:param y: 纵坐标:param z1: 第一个焦点的深度:param z2: 第二个焦点的深度:param z3: 第三个焦点的深度。

kkchenjj的博客 1003

会话跟踪技术

使用会话跟踪技术就是要完成在同一个会话中,多个请求之间进行共享数据。第一部分:Header(头), 记录令牌类型、签名算法等。例如:{"alg":"HS256","type":"JWT"}第二部分:Payload(有效载荷),携带一些自定义信息、默认信息等。例如:{"id":"1","username":"Tom"}第三部分:Signature(签名),防止Token被篡改、确保安全性。将header、payload,并加入指定秘钥,通过指定签名算法计算而来。

LiuShaoSheng7的博客 1751

基于Matlab生成并可视化多架飞机轨迹仿真(附源码)

这使我们可以轻松地对直线和恒定转弯进行建模,并具有额外的自由度,可以在直线段和曲线段之间平滑过渡。同样,空气中的物体会经历重力的影响,遵循抛物线(二次)路径。需要更多的航点来适应这些变化,但是轨迹的其余部分需要更少的点。第三个轨迹,如下所示,代表了一架速度更高的飞机。它由两个恒定的转弯组成,飞机在第二个转弯的中间减速。一旦知道(并设置了)物体穿过空间的物理路径,物体的速度作为行进距离的函数就通过三次埃尔米特插值来确定。在此示例中,学习了内部使用的插值符背后的概念,并展示了如何使用少量航点重现场景。

珞瑜的博客 5464

会话技术介绍

什么是会话?知道了会话的概念了,接下来我们再来了解下会话跟踪。:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间共享数据。

大一点的小孩 1039

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

会话技术详解

一、会话技术 1. 会话 一次会话中包含多次请求和响应。 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2. 功能 在一次会话的范围内的多次请求间,共享数据 3. 方式: 客户端会话技术:Cookie 服务器端会话技术:Session 二、Cookie 1. 概念 客户端会话技术,将数据保存到客户端 2. 快速入门 使用步骤: 1. 创建Cookie对象,绑定数据 * new Cookie(String name, String value) 2. 发送Cookie对

yang_yang_heng的博客 617

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

会话跟踪技术。

▶ 概念Cookie:客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问。▶ Cookie的工作流程服务端提供了两个Servlet,分别是ServletA和ServletB浏览器发送HTTP请求1给服务端,服务端ServletA接收请求并进行业务处理服务端ServletA在处理的过程中可以创建一个Cookie对象并将`name=zs`的数据存入Cookie服务端ServletA在响应数据的时候,会把Cookie对象响应给浏览器。

yzh2776680982的博客 1721

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

除了Cookie会话跟踪技术,你还知道其他的会话跟踪技术吗?会话技术的方案对比

除了Cookie会话跟踪技术,你还知道其他的会话跟踪技术吗?会话技术的方案对比

weixin_47762494的博客 5185

会话技术的自我总结

会话技术 概念: 会话 :分为三个部分 1首先,会话的开始 客户端和服务端建立连接的时候代表着会话的开始 2其次,会话的过程 在一次会话中,会有多次的请求和相应 3最后 会话的结束 关闭浏览器的时候,会话就会结束 会话技术 : 概念:用于储存会话过程中的一些数据的技术 会话技术有两个 一种叫做Cookie 另一种 叫做Session 两者区别与相同点如下: 相同特点: 不同会话之间,数据是...

Develop_Awe的博客 767

会话及会话技术

1 会话概述 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 2 Cookie对象 Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每...

weixin_33923148的博客 481

***第5章 会话及会话技术

***第5章 会话及会话技术 习题 一、填空题 1.Tomcat容器中会话的有效时间可以在【 web.xml 】文件中设置,默认会话过期时间为30分钟。 2.使用Session技术时,实质上是服务器与客户端,通过set-cookie响应头及cookie请求头,传递【 ID 】属性来识别不同的客户端。 3.Web应用中的会话指的是一个客户端(浏览器)与【 Web服务器 】之间连续发生的一系列请求和响应过程。 4.Session是借助【 Cookie技术 】来传递ID属性的。 5

桃桃的桃子的博客 5257

JavaWeb—会话技术

会话技术。介绍Cookie和Session的使用

weixin_61843013的博客 1361
上一篇: JSON的学习和使用
下一篇: Java Web01之初识servlet和request
Java_jfei
博客等级 码龄10年 55粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值