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); }


浙公网安备 33010602011771号