教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

JAVA培訓(xùn)之HttpSession案例分析

更新時(shí)間:2016年08月17日17時(shí)15分 來(lái)源:傳智播客JAVA培訓(xùn)學(xué)院 瀏覽次數(shù):

經(jīng)過(guò)HttpSession第一例的練習(xí),大家對(duì)session的用法有了一定的了解,下面我們來(lái)學(xué)習(xí)保存用戶(hù)登錄信息案例,該案例不僅使用了session對(duì)象,還使用了Cookie對(duì)象。將登錄用戶(hù)的信息保存在session中,將用戶(hù)名保存在Cookie中實(shí)現(xiàn)記住用戶(hù)名功能。下面我們就來(lái)詳細(xì)介紹該案例:
(1)首先介紹該案例需要的頁(yè)面和Servlet類(lèi),如下所示:
  • login.jsp:登錄頁(yè)面;
  • succ1.jsp:登錄成功后訪(fǎng)問(wèn)的頁(yè)面,沒(méi)有登錄不能訪(fǎng)問(wèn);
  • succ2.jsp:登錄成功后訪(fǎng)問(wèn)的頁(yè)面,沒(méi)有登錄不能訪(fǎng)問(wèn);
  • LoginServlet :校驗(yàn)用戶(hù)是否登錄成功。
(2)針對(duì)以上資源進(jìn)行分析,具體如下:
  • login.jsp:提供登錄表單,表單中的字段有用戶(hù)名和密碼,表單提交的請(qǐng)求是LoginServlet;
  • LoginServlet:獲取請(qǐng)求參數(shù),校驗(yàn)用戶(hù)是否登錄成功:
  • 登錄成功:保存用戶(hù)信息到session域中,然后重定向到succ1.jsp頁(yè)面,在succ1.jsp頁(yè)面中顯示當(dāng)前登錄的用戶(hù)信息;
  • 登錄失敗:將錯(cuò)誤信息保存在request域中,然后請(qǐng)求轉(zhuǎn)發(fā)到login.jsp頁(yè)面,并在login.jsp頁(yè)面顯示錯(cuò)誤信息;
  • succ1.jsp:從session域中獲取用戶(hù)信息,如果不存在,保存錯(cuò)誤信息到request域中,然后轉(zhuǎn)發(fā)到login.jsp頁(yè)面,在login.jsp頁(yè)面顯示錯(cuò)誤信息“您還沒(méi)有登錄!請(qǐng)先登錄!“;
  • succ2.jsp:從session域中獲取用戶(hù)信息,如果不存在,保存錯(cuò)誤信息到request域中,然后轉(zhuǎn)發(fā)到login.jsp頁(yè)面,在login.jsp頁(yè)面顯示錯(cuò)誤信息“您還沒(méi)有登錄!請(qǐng)先登錄!“。

通過(guò)以上分析可知,succ1.jsp和succ2.jsp的功能是一樣的,都是成功頁(yè)面,但是該成功頁(yè)面在用戶(hù)沒(méi)有登錄的情況下不能夠訪(fǎng)問(wèn)。
下面通過(guò)一張圖來(lái)了解保存用戶(hù)登錄信息案例的工作流程,如圖1-1所示:

圖1-1 案例序列圖
圖1-1中,如果用戶(hù)是登錄之后再訪(fǎng)問(wèn)succ1.jsp和succ2.jsp就可以看到用戶(hù)信息,如果沒(méi)有登錄就訪(fǎng)問(wèn)succ1.jsp和succ2.jsp,那么就轉(zhuǎn)發(fā)到login.jsp頁(yè)面先進(jìn)行登錄。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://fskzgqt.cn/javaee

0 分享到:
和我們?cè)诰€(xiàn)交談!