很多入口網站都提供了記住密碼功能,雖然現在的瀏覽器都已經提供了相應的記住密碼功能
效果就是你每次進入登入頁面後就不需要再進行使用者名稱和密碼的輸入:
記住密碼功能基本都是使用cookie來進行實現的,因此我也不例外,我進行了cookie的封裝
package xidian.sl.netcredit.util; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; public class CookieUtil { /** * Cookie 追加 * @return * @throws Exception */ public static void addCookie(String name,String value, int timeLong){ Cookie cookie = new Cookie(name, value); cookie.setMaxAge(timeLong); ServletActionContext.getResponse().addCookie(cookie); } /** * Cookie 取得 * @return * @throws Exception */ public static String getCookie(String name){ HttpServletRequest request = ServletActionContext.getRequest(); Cookie[] cookies = request.getCookies(); if(cookies != null){ for(Cookie cookie : cookies) { if(cookie.getName().equals(name)) { return cookie.getValue(); } } } return null; } }
還是比較簡單的,這個在使用者進行記住密碼勾選的時候就可以呼叫addCookie來記住密碼,下次再次開啟登陸頁面時再呼叫相應的getCookie類
不過這個要特別注意的是:cookie在瀏覽器端進行儲存是明文的,必須要進行加密,下面的截圖就是未加密的時候: