摘要:這個問題算是老生常談了,我也是一段時間沒弄過了,所以感覺有些忘了,就記錄一下。
一、后端通過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簡介到此,有疑問可以留言哦!