java-web——第十课 session
前言:
前一课我们讲了 request 存储数据,
那这里有一个假设
如果控制器获取到了从表单提交过来的元素,
存进 request 中,
然后给控制器一个新的跳转请求
那在新的页面中,
还可以取出表单存入 request 的数据吗?
实践:
那我们来试一下就知道了
1.建一个 java web 项目
2.建一个 JSP 页面,加入表单元素
3.建一个控制器,接受表单请求
4.将获取到的数据存入到 request 中
5.重新来一个跳转请求
6.接着需要创建一个重定向的地址页面
7.然后在其中取出数据,并且显示
8.显示结果
总结:
这个实践我们可以得出,
每一次请求都会创建出一个新的 request
这样就导致我们客户在访问的时候,
服务端永远认不出其人,
客户的状态服务器也跟踪不到,
这种情况是不允许的,
所以就引出了我们的会话跟踪
Session
Session
1.什么是Session
在计算机中,尤其是在网络应用中,称其为“会话控制”。
Session 对象存储特定用户会话所需的属性及配置信息。
这样,当用户在应用程序的 Web 页之间跳转时,
存储在 Session 对象中的变量将不会丢失,
而是在整个用户会话中一直存在下去。
2.Session的工作原理
当用户请求来自应用程序的 Web 页时,
如果该用户还没有会话,
则 Web 服务器将自动创建一个 Session 对象。
当会话过期或被放弃后,
服务器将终止该会话。
Session的用法
1.首先来到我们的控制器
2.接着我们来到我们的跳转页面
3.结果如下
总结:
不难看出,用session对象存入数据,
哪怕再发多个请求,数据也不会丢失,
这也就是所谓的会话跟踪
Session的根本原理
其实原理很简单
我们来到刚刚的页面
1.按 F12 进入控制台
2.
3.
4.
Cookie的生成不需要我们去管,
服务器会将这一串字符生成好
这也是分辨不同用户以及请求的标准
谢谢欣赏
(`・ω・´)ゞ敬礼っ