jsp获取Session中的值
摘要:这个问题算是老生常谈了,我也是一段时间没弄过了,所以感觉有些忘了,就记录一下。
一、后端通过shiro在session中存储数据:
// username是前台传过来的用户名
if (subject.isAuthenticated()) { // 存入session UserToken.setVal2Session("userName", username); return "登录成功"; } else { token.clear(); return "登录失败"; }
二、前端通过EL表达式获取对应的用户名(两种方式):
1、直接通过session中的key值取得相应的value:
<span>${userName }</span>
2、通过限定作用域,获取session作用域中的值
<span>${sessionScope.userName }</span>
列位看官,想补充更多jsp知识的可以继续往下看:
(一)jsp有四大作用域:
- page作用域 (表示当前页面) ----->pageScope (属性范围在EL中的名称)
- request作用域 (表示一次客户端请求) ----->requestScope (属性范围在EL中的名称)
- session作用域 (表示一次会话) ----->sessionScope (属性范围在EL中的名称)
- application作用域 (表示整个Web应用的全局变量) ----->applicationScope (属性范围在EL中的名称)
通过EL表达式获取相应值的时候,第一种 ${userName } 会依序从Page、Request、Session、Application范围查找,
而第二种 ${sessionScope.userName } 会直接从Session范围查找。
(二)jsp九大内置对象:
- 输入输出对象:out对象、response对象、request对象
- 通信控制对象:pageContext对象、session对象、application对象
- Servlet对象:page对象、config对象
- 错误处理对象:exception对象
-
九种对象简介:
out对象:用于向客户端、浏览器输出数据。
request对象:封装了来自客户端、浏览器的各种信息。
response对象:封装了服务器的响应信息。
exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
config对象:封装了应用程序的配置信息。
page对象:指向了当前jsp程序本身。
session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数据
application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。
好的,jsp简介到此,有疑问可以留言哦!