登錄案例之添加驗證碼案例分析
在
HttpSession第二例中,我們完成一個案例Example22,該案例完成了登錄功能?,F在在Example22工程原有功能的基礎上為其添加一個新的功能:驗證碼,即表示,用戶在登錄的時候不僅要輸入用戶名和密碼,還要輸入驗證碼;用戶名、密碼和驗證碼都正確的情況下才能登錄成功。下面我們來分析如何實現以上功能。
首先,我們來了解該功能的流程,如圖1-1所示:
圖1-1 功能分析
由圖1-1可知,當在瀏覽器端訪問login.jsp頁面,瀏覽器發(fā)送了兩次請求,分別是:
- 第一個請求:請求的是login.jsp;
- 第二個請求:請求的是VerifyCodeServlet;
VerifyCodeServlet要完成以下三個任務:
- 生成驗證碼圖片;
- 將驗證碼圖片中的驗證碼保存在session域中;
- 將驗證碼圖片寫到響應流中,響應給客戶端;
在頁面中輸入用戶名,密碼和驗證碼,然后點擊“登錄”。這時瀏覽器訪問的是LoginServlet。
LoginServlet要做的工作如下所示:
- 獲取請求參數:用戶名、密碼以及驗證碼;
- 從session域中獲取正確的驗證碼,然后與用戶輸入的驗證碼進行對比,如果一致,繼續(xù)比較用戶名和密碼是否正確,否則保存錯誤信息在request域中,然后轉發(fā)到login.jsp頁面。
本文版權歸傳智播客Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:傳智播客Java培訓學院
首發(fā):http://xamj520.com/javaee