${pageScope.username}
取出Page范围的username变量
${requestScope.username}
取出Request范围的username变量
${sessionScope.username}
取出Session范围的username变量
${applicationScope.username}
取出Application范围的username变量
问题:
Request 对象解决了一次请求内的不同 Servlet 的数据共享问
题, 那么一个用户的不同请求的处理需要使用相同的数据怎么办呢?
解决:
使用 session 技术。
原理:
用户使用浏览器第一次向服务器发送请求, 服务器在接受到请
求后, 调用对应的 Servlet 进行处理。 在处理过程中会给用户创建
一个 session 对象, 用来存储用户请求处理相关的公共数据, 并将
此 session 对象的 JSESSIONID 以 Cookie 的形式存储在浏览器中
(临时存储, 浏览器关闭即失效)。 用户在发起第二次请求及后续请
求时, 请求信息中会附带 JSESSIONID, 服务器在接收到请求后,
调用对应的 Servlet 进行请求处理, 同时根据 JSESSIONID 返回其
对应的 session 对象。
特点:Session 技术是依赖 Cookie 技术的服务器端的数据存储技术。
由服务器进行创建
每个用户独立拥有一个 session
默认存储时间为 30 分钟
作用:
解决了一个用户的不同请求的数据共享问题。
使用:
创建 Session 对象
存储数据到 session 对象
获取 session 对象
获取数据从 session 对象
如果获取 session 中不存在的数据返回 null。
注意:
只要不关闭浏览器, 并且 session 不失效的情况下, 同一个用
户的任意请求在项目的任意Servlet中获取到的都是同一个session
对象。
作用域:
一次会话