JavaWeb中Session会话管理,理解Http无状态处理机制

时间:2021-12-21 13:38:49

概述:

在计算机网络应用中,Session被称为“会话”

Session直接翻译成中文,

JavaWeb中Session会话管理,理解Http无状态处理机制

具体到Web应用中,Session指的就是从用户浏览某个Web应用,从进入Web应用到浏览器关闭所经过的这段时间,即用户浏览这个Web应用所花费的时间

JavaWeb中Session会话管理,理解Http无状态处理机制

需要注意的是Session对应的是一个用户,当有新的用户进来是新的Session。

A用户 A 会话(Session)

B用户 B 会话(Session)

A会话和B会话两者同时存在,不冲突

那为什么要有Session呢?

这是因为一个Http的特性:无状态。

JavaWeb中Session会话管理,理解Http无状态处理机制

总结就是:Web应用使用了一个无状态的协议。

但在我们实际中,用户访问Web应用,第一次输入账户密码,获取到了想到的资源,比如某个图片,下次想要一个文本,又去访问Web应用,这个时候Web应用使用了无状态协议,把它忘了,让它再输入一次账户密码,也就是说用户访问一万次,要输入一万次账户密码,用户可能会崩溃。

JavaWeb中Session会话管理,理解Http无状态处理机制

针对这种情况,Web应用提供了一种“会话机制”,存储特定的用户会话信息,为每个用户保存一个会话对象

JavaWeb中Session会话管理,理解Http无状态处理机制

那我们在Java中如何使用呢?我们先看一种实现

现在一个Servlet中存放Session,在另外一个获取,然后输出

JavaWeb中Session会话管理,理解Http无状态处理机制

获取

JavaWeb中Session会话管理,理解Http无状态处理机制

页面访问地址

JavaWeb中Session会话管理,理解Http无状态处理机制

此时服务器是没有内容输出

JavaWeb中Session会话管理,理解Http无状态处理机制

我们打开浏览器访问一次

JavaWeb中Session会话管理,理解Http无状态处理机制

然后我们点击提交,查看服务器内容

JavaWeb中Session会话管理,理解Http无状态处理机制

然后我们再访问第二个Servlet

JavaWeb中Session会话管理,理解Http无状态处理机制

然后我们再看服务器

JavaWeb中Session会话管理,理解Http无状态处理机制

已经获取到了,我们再启动一个谷歌浏览器访问第二个Servlet

JavaWeb中Session会话管理,理解Http无状态处理机制

我们回车访问,再看服务器,是获取不到Session的值的

JavaWeb中Session会话管理,理解Http无状态处理机制

所以Session是和用户关联的(一个浏览器就是一个用户)