驗證碼案例
(一)案例需求描述
一盛泡、案例需求
二姐赡、案例功能分析
1弧械、登錄失敗
用戶名或密碼錯誤
驗證碼錯誤
回到登錄頁面
2粗仓、登錄成功
如果勾選了記住用戶名復(fù)選框
利用Cookie記住登錄成功的用戶的用戶名
需要將用戶信息保存到Session中
進(jìn)行頁面跳轉(zhuǎn),跳到成功頁面
(二)案例準(zhǔn)備
一奸绷、創(chuàng)建Web項目
二梗夸、引入Jar包
三、創(chuàng)建包結(jié)構(gòu)
四号醉、引入工具類和配置文件
五反症、引入相關(guān)的類并修改
Servlet2還需要修改配置文件web.xml
Servlet3以注解形式注冊的,不需要寫web.xml
六畔派、創(chuàng)建登錄頁面
? ? 頁面代碼
(三)案例代碼-用戶登錄的功能
一铅碍、用戶登錄流程
用戶輸入用戶名或密碼進(jìn)行登錄
如果用戶名或密碼錯誤,保存錯誤信息线椰,回到登錄頁面
如果用戶名和密碼正確胞谈,將用戶的信息保存到會話中,跳轉(zhuǎn)到成功頁面
二憨愉、用戶登錄代碼實現(xiàn)
在登錄頁面回顯錯誤信息
用戶登錄代碼實現(xiàn)
編寫success.jsp
(四)案例代碼-一次性驗證碼
一烦绳、一次性驗證碼的分析
1、一次性驗證碼的作用
? ? 防止惡意灌水配紫,而且一次性驗證碼只能夠使用一次径密,不管成功或者失敗,驗證碼都將失效
2躺孝、一次性驗證碼的校驗
? ? 一次性驗證碼生成:隨機(jī)生成4個字母或數(shù)字享扔,由Response生成一張圖片響應(yīng)到頁面
二、一次性驗證碼的實現(xiàn)
1植袍、生成驗證碼圖片
復(fù)制Servlet到指定的包下
? ? Servlet2需要修改web.xml完成該Servlet的配置
在頁面中引入Servlet
2惧眠、將隨機(jī)生成的字母或數(shù)字保存到Session中
3、校驗一次性驗證碼
三于个、一次性驗證碼的點擊按鈕切換圖片
1氛魁、點擊按鈕切換圖片
2、代碼實現(xiàn)
提供超鏈接
編寫JS的函數(shù)
四、記住用戶名的實現(xiàn)
1呆盖、需求概述
? ? 如果在登錄的過程中,將記住用戶名的復(fù)選框勾選了贷笛,而且必須在登錄成功的情況下应又,就需要記住用戶名,在關(guān)閉瀏覽器乏苦、下次訪問該網(wǎng)站的登錄頁面時株扛,會在用戶名的文本框中自動呈現(xiàn)出用戶名
2、代碼實現(xiàn)
記住用戶名的后臺代碼
在頁面的文本框中回顯用戶名
五汇荐、系統(tǒng)退出
1洞就、提供一個退出的鏈接
2、編寫LogoutServlet