驗(yàn)證碼案例
(一)案例需求描述
一派继、案例需求
二辛友、案例功能分析
1谐腰、登錄失敗
用戶名或密碼錯(cuò)誤
驗(yàn)證碼錯(cuò)誤
回到登錄頁(yè)面
2胁黑、登錄成功
如果勾選了記住用戶名復(fù)選框
利用Cookie記住登錄成功的用戶的用戶名
需要將用戶信息保存到Session中
進(jìn)行頁(yè)面跳轉(zhuǎn)僻澎,跳到成功頁(yè)面
(二)案例準(zhǔn)備
一貌踏、創(chuàng)建Web項(xiàng)目
二、引入Jar包
三窟勃、創(chuàng)建包結(jié)構(gòu)
四祖乳、引入工具類和配置文件
五、引入相關(guān)的類并修改
Servlet2還需要修改配置文件web.xml
Servlet3以注解形式注冊(cè)的拳恋,不需要寫web.xml
六凡资、創(chuàng)建登錄頁(yè)面
? ? 頁(yè)面代碼
(三)案例代碼-用戶登錄的功能
一、用戶登錄流程
用戶輸入用戶名或密碼進(jìn)行登錄
如果用戶名或密碼錯(cuò)誤谬运,保存錯(cuò)誤信息隙赁,回到登錄頁(yè)面
如果用戶名和密碼正確,將用戶的信息保存到會(huì)話中梆暖,跳轉(zhuǎn)到成功頁(yè)面
二伞访、用戶登錄代碼實(shí)現(xiàn)
在登錄頁(yè)面回顯錯(cuò)誤信息
用戶登錄代碼實(shí)現(xiàn)
編寫success.jsp
(四)案例代碼-一次性驗(yàn)證碼
一、一次性驗(yàn)證碼的分析
1轰驳、一次性驗(yàn)證碼的作用
? ? 防止惡意灌水厚掷,而且一次性驗(yàn)證碼只能夠使用一次弟灼,不管成功或者失敗,驗(yàn)證碼都將失效
2冒黑、一次性驗(yàn)證碼的校驗(yàn)
? ? 一次性驗(yàn)證碼生成:隨機(jī)生成4個(gè)字母或數(shù)字田绑,由Response生成一張圖片響應(yīng)到頁(yè)面
二、一次性驗(yàn)證碼的實(shí)現(xiàn)
1抡爹、生成驗(yàn)證碼圖片
復(fù)制Servlet到指定的包下
? ? Servlet2需要修改web.xml完成該Servlet的配置
在頁(yè)面中引入Servlet
2掩驱、將隨機(jī)生成的字母或數(shù)字保存到Session中
3、校驗(yàn)一次性驗(yàn)證碼
三冬竟、一次性驗(yàn)證碼的點(diǎn)擊按鈕切換圖片
1欧穴、點(diǎn)擊按鈕切換圖片
2、代碼實(shí)現(xiàn)
提供超鏈接
編寫JS的函數(shù)
四泵殴、記住用戶名的實(shí)現(xiàn)
1涮帘、需求概述
? ? 如果在登錄的過(guò)程中,將記住用戶名的復(fù)選框勾選了笑诅,而且必須在登錄成功的情況下调缨,就需要記住用戶名,在關(guān)閉瀏覽器苟鸯、下次訪問(wèn)該網(wǎng)站的登錄頁(yè)面時(shí)同蜻,會(huì)在用戶名的文本框中自動(dòng)呈現(xiàn)出用戶名
2、代碼實(shí)現(xiàn)
記住用戶名的后臺(tái)代碼
在頁(yè)面的文本框中回顯用戶名
五早处、系統(tǒng)退出
1湾蔓、提供一個(gè)退出的鏈接
2、編寫LogoutServlet