? ? ? ? ? ? ? ? ? ? ? ?day13? ? ? ? ? ? ? ? ? ?驗(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è)的,不需要寫(xiě)web.xml
六拴曲、創(chuàng)建登錄頁(yè)面
? ? 頁(yè)面代碼
(三)案例代碼-用戶登錄的功能
一争舞、用戶登錄流程
用戶輸入用戶名或密碼進(jìn)行登錄
如果用戶名或密碼錯(cuò)誤,保存錯(cuò)誤信息澈灼,回到登錄頁(yè)面
如果用戶名和密碼正確竞川,將用戶的信息保存到會(huì)話中,跳轉(zhuǎn)到成功頁(yè)面
二叁熔、用戶登錄代碼實(shí)現(xiàn)
在登錄頁(yè)面回顯錯(cuò)誤信息
用戶登錄代碼實(shí)現(xiàn)
編寫(xiě)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)
提供超鏈接
編寫(xiě)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、編寫(xiě)LogoutServlet