天天看點

Jsp使用Cookie完成記住賬号密碼的功能

網站中對于記住賬号密碼,友善下次登入的使用非常普遍,那麼它是怎麼實作的呢?

首先他的流程是,設計一個複選框,當選中複選框時,就會傳值到處理頁面,複選框的用途就是判斷使用者是否願意記住賬号密碼。

我們通過一個小例子來掌握他的實作步驟,在開始之前首先要了解一下實作這一功能的關鍵:

cookie,所有的實作所依賴的都是cookie,那麼什麼是cookie呢?

簡單來說:cookie就是一段文本,它存儲在用戶端(通常來說是浏覽器)。你可以把cookie當作一個map,裡邊是鍵值對,每個鍵值對有 過期時間、域、路徑、腳本可否通路等屬

性;用戶端請求時,預設會帶上cookie資訊,就在http請求封包的header中;伺服器響應時,可以設定cookie資訊,就在http響應封包的header中;

了解了cookie,我們就可以實作記住賬号密碼的功能了

首先,我們寫一個login.jsp,來接收使用者的操作。

這段代碼實作的思路是,首先搜尋浏覽器的cookie,判斷是否存在名為username和password,

如果有,就傳值到form表單,用value="<%=username%>"來使他顯示在輸入框;而當搜尋不到這套cookie時,輸入框不顯示内容,需要使用者手動輸入。

這時我們需要一個登入資訊處理的jsp,這裡名字是logincheck.jsp

這裡的實作思路是首先接收登入界面傳過來的值,首先判斷使用者名密碼是否存在,不存在程式就終止了,彈出error提示,如果存在再判斷使用者是否選擇了記住密碼,即複選框是否有傳值過來。如果有,new一個cookie對象,對cookie進行儲存,如果沒有則正常登入。

主要介紹記住賬号密碼的功能,背景實作思路不做詳細介紹,代碼如下

這樣,一個簡單的使用cookie記住賬号密碼的功能就實作了,同時可以擴充一下,比如,讓使用者自己選擇記住賬号密碼的時長

表單中加上一個輸入框:

登入處理用輸入的時間代替原來設定的值:

使用cookie可以完成很多事情,怎麼用它,就要發揮大家想象啦!