Servlet如何使同一用戶在各個頁面共享數(shù)據(jù)?


一、cookies

  • 什么是cookies?

服務(wù)端在客戶端保存用戶的信息,比如用戶名,密碼等..就是cookie. 一般保存在C:/Documents and Settings目錄下.

  • cookies的用處.
    1. 錄用戶名、密碼,在定義時間內(nèi)不用重新登錄
    2. 記錄用戶訪問網(wǎng)站的喜好,比如有無背景音樂.
    3. 網(wǎng)站個性化,定制網(wǎng)站服務(wù)、內(nèi)容.

二、sendRedirect()

sendRedirect("welcome?uname=admin");
注意:
1.welcome代表要傳遞的servlet.
2.serlver url名和變量之間有?分割
3.如果要傳遞兩個以上的值,之間需要使用&分隔開.
例如: sendRedirect("welcome?uname=admin&pwd=123");
4.如果傳遞的是中文會亂碼,需要額外處理.

三、隱藏表單

如:

<form action=login>
<input type=hidden name=a value=b>
</form>

四、Session

  • 什么是Session?
    客戶端訪問服務(wù)器網(wǎng)站的時候,服務(wù)器會為這個瀏覽器分配一個內(nèi)存空間,該空間被客戶端獨占 。這個空間就是session空間,該空間中數(shù)據(jù)默認(rèn)存在的時間是30 Minutes. 修改conf/web.xml文件 找到<session=config>
  • Session功能
    1. 購物車
    2. 登錄用戶的信息
    3. 防止用戶登錄到某個非法頁面
  • Session理解
    Session是一個Map<K,V>集合 每個Session包含兩個部分, 一個是該Map的名字(String)另一個是它的值(Object).
  • 對Session的操作
    1. 得到Session HttpSession hs = request.getSession(true);
    2. 向Session添加屬性 hs.setAttribute(String name,Object val);
    3. 從Session得到某個屬性 String name = hs.getAttribute(String name);
    4. 從Session刪除某個屬性 hs.removeAttribute(String name)
  • 服務(wù)器會分配一個唯一的session id 并以此來區(qū)分不同的客戶端 瀏覽器
  • 因為session的各個屬性要占用服務(wù)器的內(nèi)存,所以不能大量使用
LoginCl.java
// 得到Session
    HttpSession hs = req.getSession(true);
    // 修改session的存在時間
    hs.setMaxInactiveInterval(20);
    hs.setAttribute("pass","ok");

Welcome.java
// 業(yè)務(wù)邏輯
// 得到session
HttpSession hs = req.getSession(true);
String val = (String)hs.getAttribute("pass");
    // 判斷
    if(val == null){
    //非法登錄
    try{
        res.sendRedirect("login");
    }catch(Exception e){
        e.printStackTrace();
    }   
}

給個github follow me的鏈接,上面有很多初學(xué)者可供學(xué)習(xí)的資料,項目.

<a>https://github.com/SuperZee</a>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,639評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • Servlet 學(xué)習(xí)筆記 一、動態(tài)網(wǎng)頁技術(shù)發(fā)展 靜態(tài)網(wǎng)頁技術(shù)HTML: 無法進行用戶交互 動態(tài)網(wǎng)頁技術(shù)CGI: 效...
    Jane_Static閱讀 494評論 0 0
  • 沉浸在葉的悲情,呢喃著葉的哀傷 卻在成就著你不能收獲的似曾相識 一切凡情總是無可奈何,鈿頭銀蓖青衫司馬 再也沒有往...
    小韓law閱讀 222評論 0 0
  • 想起小時候,每年回老家,姥爺都會牽著我肉肉的小手帶我去買零食,各種小蛋糕餅干冰糖什么的各種我超愛吃的。還帶我去摘果...
    wwwbb閱讀 334評論 2 0

友情鏈接更多精彩內(nèi)容