JavaWeb中Session会话管理,理解Http无状态处理机制
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512955067434271246/
2、《Servlet部署描述符》
3、《通过了解Servlet和Http之间的关系,了解web中http通信使用》
4、《通过了解Servlet和Http之间的关系,了解web中http通信使用(二)》
5、《Servlet生命周期》
6、《Servlet全局信息共享域对象ServletContext》
在计算机网络应用中,Session被称为“会话”
Session直接翻译成中文,
具体到Web应用中,Session指的就是从用户浏览某个Web应用,从进入Web应用到浏览器关闭所经过的这段时间,即用户浏览这个Web应用所花费的时间
需要注意的是Session对应的是一个用户,当有新的用户进来是新的Session。
A用户 A 会话(Session)
B用户 B 会话(Session)
A会话和B会话两者同时存在,不冲突
那为什么要有Session呢?
这是因为一个Http的特性:无状态。
总结就是:Web应用使用了一个无状态的协议。
但在我们实际中,用户访问Web应用,第一次输入账户密码,获取到了想到的资源,比如某个图片,下次想要一个文本,又去访问Web应用,这个时候Web应用使用了无状态协议,把它忘了,让它再输入一次账户密码,也就是说用户访问一万次,要输入一万次账户密码,用户可能会崩溃。
针对这种情况,Web应用提供了一种“会话机制”,存储特定的用户会话信息,为每个用户保存一个会话对象
那我们在Java中如何使用呢?我们先看一种实现
现在一个Servlet中存放Session,在另外一个获取,然后输出
获取
页面访问地址
此时服务器是没有内容输出
我们打开浏览器访问一次
然后我们点击提交,查看服务器内容
然后我们再访问第二个Servlet
然后我们再看服务器
已经获取到了,我们再启动一个谷歌浏览器访问第二个Servlet
我们回车访问,再看服务器,是获取不到Session的值的
所以Session是和用户关联的(一个浏览器就是一个用户)