最终效果展示:
1、登录页面JSP代码
记住密码
//选中记住密码触发事件,如果选中就赋值为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
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);
}