Java web 学习(二)会话技术:Cookie、Session

一:基本解释

会话:指的是浏览器和服务器之间的多次请求和响应

也就是说你打开浏览器,并且访问某个页面开始,你的浏览器和服务器之间就建立了某种连接,这种连接就叫会话。当关闭浏览器时,连接断开,会话则挂断。

我们可以想象这样的场景:当你与一位好友进行电话通讯时,这就相当于建立了会话连接,而双方的通讯工具则可以想象为浏览器和服务器。

会话技术有两种:一种是通讯信息存于客户端(通常为浏览器)的Cookie技术,一种为通讯信息存于服务器的Session技术。这两种技术如何应用以及相应的优缺点,下面我们一一讲解。

二:Cookie技术

我们想象这样一个场景,当你拿着存折去银行存钱时,你的存折上会有你的账户信息以及本次存入的钱数等信息,这些信息就相当于一个或多个Cookie信息,这些信息呈现在你的存折上(相当于客户端),你可以通过这些信息来查阅你究竟存了多少钱(毕竟快过年了)。下面讲解具体技术应用

1:Cookie技术的使用

1>创建cookie对象,绑定数据

一:基本解释

会话:指的是浏览器和服务器之间的多次请求和响应

也就是说你打开浏览器,并且访问某个页面开始,你的浏览器和服务器之间就建立了某种连接,这种连接就叫会话。当关闭浏览器时,连接断开,会话则挂断。

我们可以想象这样的场景:当你与一位好友进行电话通讯时,这就相当于建立了会话连接,而双方的通讯工具则可以想象为浏览器和服务器。

会话技术有两种:一种是通讯信息存于客户端(通常为浏览器)的Cookie技术,一种为通讯信息存于服务器的Session技术。这两种技术如何应用以及相应的优缺点,下面我们一一讲解。

二:Cookie技术

我们想象这样一个场景,当你拿着存折去银行存钱时,你的存折上会有你的账户信息以及本次存入的钱数等信息,这些信息就相当于一个或多个Cookie信息,这些信息呈现在你的存折上(相当于客户端),你可以通过这些信息来查阅你究竟存了多少钱(毕竟快过年了)。下面讲解具体技术应用

1:Cookie技术的使用

1>创建cookie对象,绑定数据
在这里插入图片描述

2>发送Cookie对象

在这里插入图片描述

3>获取Cookie,获取数据

在这里插入图片描述

2:Cookie的保存问题

1>保存时间问题

    在默认情况下,当浏览器关闭时候在会话期间产生的cookie信息就销毁

    我们可以进行持久化存储:

SetMaxAge(int seconds)

当seconds为正数,cookie信息会自动存入硬盘文件中,并指明相应        

cookie的存活时间,当时间到后,cookie信息自动失效。

当seconds为负数,cookie信息进行默认值操作。

当seconds为0,删除cookie信息。

2>编码问题

    cookie信息在tomcat8之前不能存储中文信息,在tomcat8之后,支持大部分中文信息存储,但是特殊符号还不能覆盖全面,建议这种情况下,进行URL编码存储。

3:Cookie的作用和特点

1:cookie存储信息在客户端

2:cookie对一个客户端保存单个cookie大小为4kb(无扩展)

3:同一域名下总cookie数限制在20以内(无扩展)

作用:

1:cookie技术大部分用于数据不敏感部分。因其数据存储在客户端,数据不

  安全。

2:当客户端发送请求到服务器,服务器可根据请求所携带的cookie信息进行

  客户端识别。

三:Session技术

我们承接cookie技术的引入场景,存折存钱。当你存钱,银行服务器肯定会查询你的银行账户信息并进行相应存入操作,这时候你的最新的存款信息就会更新到银行服务器里边,这就相当于我们存储信息到服务器的Session技术

1:Session技术的应用

1>获取session对象

在这里插入图片描述

2>使用session对象

在这里插入图片描述

此步完成后就相当于在服务器中存储session专用的空间存入数据及响应的     键值

3>获取session数据

在这里插入图片描述

2:session的保存问题

默认session保存时间为30分钟,当超过这个时间,session失效。

我们可以在web.xml中进行相应配置:

Java web 学习(二)会话技术:Cookie、Session_第1张图片

其中根据自己的需求设定时间

也可在代码中设定session的有效时间:
在这里插入图片描述

3:session的客户端、服务器关闭异步问题

1>当关闭浏览器,服务器正常运行,默认情况下会话产生的session失    效,这时候我们可以根据session依据cookie实现这一原理进行持久化,新建一个cookie持久保存session的ID信息,当浏览器重启,发出请求,携带保存的cookie信息,浏览器进行识别并带回对应客户端之前会话产生的session信息。

2>当服务器关闭,客户端正常开启,tomcat自动完成下列功能:

session的钝化:在服务器关闭前,将相应session信息存入硬盘

session的活化:在服务器开启后,将所存储的session信息转入内存为 session对象。

4:session的优缺点:

优点:简化了数据的传递、适合信息敏感操作应用

缺点:占用服务器资源,当进行大数据量开发时,session过多会影响服务 器的性能。

通过本次学习,相信你已经掌握了cookie和session技术,但是我们还缺一些实战。加油,每天都在前进的路上才不会有遗憾!

如有技术内容需要探讨,请加我QQ;如果还没有学到撑,请关注我公众号,我是小渣渣,我在小札札空间等你!

Java web 学习(二)会话技术:Cookie、Session_第2张图片Java web 学习(二)会话技术:Cookie、Session_第3张图片

你可能感兴趣的:(Java,Web,java)