經(jīng)過
HttpSession第一例的練習(xí),大家對(duì)session的用法有了一定的了解,下面我們來學(xué)習(xí)保存用戶登錄信息案例,該案例不僅使用了session對(duì)象,還使用了Cookie對(duì)象。將登錄用戶的信息保存在session中,將用戶名保存在Cookie中實(shí)現(xiàn)記住用戶名功能。下面我們就來詳細(xì)介紹該案例:
(1)首先介紹該案例需要的頁面和Servlet類,如下所示:
- login.jsp:登錄頁面;
- succ1.jsp:登錄成功后訪問的頁面,沒有登錄不能訪問;
- succ2.jsp:登錄成功后訪問的頁面,沒有登錄不能訪問;
- LoginServlet :校驗(yàn)用戶是否登錄成功。
(2)針對(duì)以上資源進(jìn)行分析,具體如下:
- login.jsp:提供登錄表單,表單中的字段有用戶名和密碼,表單提交的請(qǐng)求是LoginServlet;
- LoginServlet:獲取請(qǐng)求參數(shù),校驗(yàn)用戶是否登錄成功:
- 登錄成功:保存用戶信息到session域中,然后重定向到succ1.jsp頁面,在succ1.jsp頁面中顯示當(dāng)前登錄的用戶信息;
- 登錄失?。簩㈠e(cuò)誤信息保存在request域中,然后請(qǐng)求轉(zhuǎn)發(fā)到login.jsp頁面,并在login.jsp頁面顯示錯(cuò)誤信息;
- succ1.jsp:從session域中獲取用戶信息,如果不存在,保存錯(cuò)誤信息到request域中,然后轉(zhuǎn)發(fā)到login.jsp頁面,在login.jsp頁面顯示錯(cuò)誤信息“您還沒有登錄!請(qǐng)先登錄!“;
- succ2.jsp:從session域中獲取用戶信息,如果不存在,保存錯(cuò)誤信息到request域中,然后轉(zhuǎn)發(fā)到login.jsp頁面,在login.jsp頁面顯示錯(cuò)誤信息“您還沒有登錄!請(qǐng)先登錄!“。
通過以上分析可知,succ1.jsp和succ2.jsp的功能是一樣的,都是成功頁面,但是該成功頁面在用戶沒有登錄的情況下不能夠訪問。
下面通過一張圖來了解保存用戶登錄信息案例的工作流程,如圖1-1所示:
圖1-1 案例序列圖
圖1-1中,如果用戶是登錄之后再訪問succ1.jsp和succ2.jsp就可以看到用戶信息,如果沒有登錄就訪問succ1.jsp和succ2.jsp,那么就轉(zhuǎn)發(fā)到login.jsp頁面先進(jìn)行登錄。
本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://m.fskzgqt.cn/javaee