驗證碼案例
(一)案例需求描述
一、案例需求
二、案例功能分析
1、登錄失敗
?用戶名或密碼錯誤
?驗證碼錯誤
?回到登錄頁面
2、登錄成功
?如果勾選了記住用戶名復選框
??利用Cookie記住登錄成功的用戶的用戶名
?需要將用戶信息保存到Session中
?進行頁面跳轉,跳到成功頁面
(二)案例準備
一、創(chuàng)建Web項目
二、引入Jar包
三、創(chuàng)建包結構
四、引入工具類和配置文件
五、引入相關的類并修改
Servlet2還需要修改配置文件web.xml
Servlet3以注解形式注冊的,不需要寫web.xml
六、創(chuàng)建登錄頁面
? ? 頁面代碼
(三)案例代碼-用戶登錄的功能
一、用戶登錄流程
?用戶輸入用戶名或密碼進行登錄
??如果用戶名或密碼錯誤,保存錯誤信息,回到登錄頁面
??如果用戶名和密碼正確,將用戶的信息保存到會話中,跳轉到成功頁面
二、用戶登錄代碼實現(xiàn)
在登錄頁面回顯錯誤信息
用戶登錄代碼實現(xiàn)
編寫success.jsp
(四)案例代碼-一次性驗證碼
一、一次性驗證碼的分析
1、一次性驗證碼的作用
? ? 防止惡意灌水,而且一次性驗證碼只能夠使用一次,不管成功或者失敗,驗證碼都將失效
2、一次性驗證碼的校驗
? ? 一次性驗證碼生成:隨機生成4個字母或數(shù)字,由Response生成一張圖片響應到頁面
二、一次性驗證碼的實現(xiàn)
1、生成驗證碼圖片
復制Servlet到指定的包下
? ? Servlet2需要修改web.xml完成該Servlet的配置
在頁面中引入Servlet
2、將隨機生成的字母或數(shù)字保存到Session中
3、校驗一次性驗證碼
三、一次性驗證碼的點擊按鈕切換圖片
1、點擊按鈕切換圖片
2、代碼實現(xiàn)
提供超鏈接
編寫JS的函數(shù)
四、記住用戶名的實現(xiàn)
1、需求概述
? ? 如果在登錄的過程中,將記住用戶名的復選框勾選了,而且必須在登錄成功的情況下,就需要記住用戶名,在關閉瀏覽器、下次訪問該網(wǎng)站的登錄頁面時,會在用戶名的文本框中自動呈現(xiàn)出用戶名
2、代碼實現(xiàn)
記住用戶名的后臺代碼
在頁面的文本框中回顯用戶名
五、系統(tǒng)退出
1、提供一個退出的鏈接
2、編寫LogoutServlet