Java使用SSM框架實現登錄頁面記住密碼功能
阿新 • • 發佈:2018-08-18
turn 頁面 賦值 ++ mage login ring 實現 member
最終效果展示:
1、登錄頁面JSP代碼
<label class="checkbox"> <input type="checkbox" name="rememberMe" id="rememberMe" onclick="remember();"/> 記住密碼 </label>
//選中記住密碼觸發事件,如果選中就賦值為1 ,否則賦值為0 function remember(){ var remFlag = $("input:checkbox").is(‘:checked‘); if(remFlag){ //cookie存用戶名和密碼,回顯的是真實的用戶名和密碼,存在安全問題. var conFlag = confirm("記錄密碼功能不宜在公共場所使用,以防密碼泄露.您確定要使用此功能嗎?"); if(conFlag){ //確認標誌 $("#rememberMe").val("1"); }else{ $("input:checkbox").removeAttr(‘checked‘); $("#rememberMe").val("0"); } }else{ //如果沒選中設置remFlag為"" $("#rememberMe").val("0"); } }
//啟動函數來獲取cookie中保存的用戶信息
$(function(){
//cookie數據保存格式是key=value;key=value;形式,loginInfo為保存在cookie中的key值,具體看controller代碼 var str = getCookie("loginInfo"); str = str.substring(1,str.length-1); var username = str.split(",")[0]; var password = str.split(",")[1]; //自動填充用戶名和密碼 $("#username").val(username); $("#password").val(password);
});
//獲取cookie function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(‘;‘); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==‘ ‘) c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length, c.length); } return ""; }
2、登錄請求後controller代碼
//創建Cookie對象,保存用戶信息,設定cookie失效時間,通過response添加cookie
if ("1".equals(cookieFlag)) { String loginInfo = username + "," + password; Cookie userCookie = new Cookie("loginInfo", loginInfo); userCookie.setMaxAge(1 * 24 * 60 * 60); // 存活期為一天 1*24*60*60 userCookie.setPath("/"); res.addCookie(userCookie); }
Java使用SSM框架實現登錄頁面記住密碼功能