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

全國(guó)咨詢/投訴熱線:400-618-4000

JAVA培訓(xùn)之登錄案例之添加驗(yàn)證碼案例分析

更新時(shí)間:2016年09月21日10時(shí)30分 來源:傳智播客JAVA培訓(xùn)學(xué)院 瀏覽次數(shù):

登錄案例之添加驗(yàn)證碼案例分析
HttpSession第二例中,我們完成一個(gè)案例Example22,該案例完成了登錄功能。現(xiàn)在在Example22工程原有功能的基礎(chǔ)上為其添加一個(gè)新的功能:驗(yàn)證碼,即表示,用戶在登錄的時(shí)候不僅要輸入用戶名和密碼,還要輸入驗(yàn)證碼;用戶名、密碼和驗(yàn)證碼都正確的情況下才能登錄成功。下面我們來分析如何實(shí)現(xiàn)以上功能。
首先,我們來了解該功能的流程,如圖1-1所示:

圖1-1 功能分析
由圖1-1可知,當(dāng)在瀏覽器端訪問login.jsp頁(yè)面,瀏覽器發(fā)送了兩次請(qǐng)求,分別是:
  • 第一個(gè)請(qǐng)求:請(qǐng)求的是login.jsp;
  • 第二個(gè)請(qǐng)求:請(qǐng)求的是VerifyCodeServlet;
VerifyCodeServlet要完成以下三個(gè)任務(wù):
  • 生成驗(yàn)證碼圖片;
  • 將驗(yàn)證碼圖片中的驗(yàn)證碼保存在session域中;
  • 將驗(yàn)證碼圖片寫到響應(yīng)流中,響應(yīng)給客戶端;
在頁(yè)面中輸入用戶名,密碼和驗(yàn)證碼,然后點(diǎn)擊“登錄”。這時(shí)瀏覽器訪問的是LoginServlet。
LoginServlet要做的工作如下所示:
  • 獲取請(qǐng)求參數(shù):用戶名、密碼以及驗(yàn)證碼;
  • 從session域中獲取正確的驗(yàn)證碼,然后與用戶輸入的驗(yàn)證碼進(jìn)行對(duì)比,如果一致,繼續(xù)比較用戶名和密碼是否正確,否則保存錯(cuò)誤信息在request域中,然后轉(zhuǎn)發(fā)到login.jsp頁(yè)面。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/javaee
0 分享到:
和我們?cè)诰€交談!