Java使用SSM框架实现登录页面记住密码功能

最终效果展示:

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); }
posted @ 2018-08-18 13:36  Code_World_Final  阅读(6055)  评论(0编辑  收藏  举报