jsp页面
<form action="/login" method="post">
用户名:<input type="text" name="name"><br>
密码:<input type="password" name="pwd"><br>
<input type="checkbox" name="dl">七天免登录
<input type="submit" value="登录">
</form>
后台 将这些传过去的值 放到 cookie里面
先判断一下 七天免登陆的复选框选中了没有
要是选中里面有值 将用户名和密码放到cookie里面
//这个是获取前台复选款中的值 name="dl"
String dl=request.getParameter("dl");
//如果登录不等于空 说明要免登录 记住密码
if(dl!=null){
//创建2 个cook 往里面传值
Cookie name = new Cookie("name", login.getName());
Cookie pwd = new Cookie("pwd", login.getPwd());
//这个是设定他的过期时间
name.setMaxAge(60*60*7*24);
pwd.setMaxAge(60*60*7*24);
//通过response 往cook里面放入这2 个值
response.addCookie(pwd);
response.addCookie(name);
}else {
//否则 这个 2个过期的时间都是 0
Cookie name = new Cookie("name", login.getName());
Cookie pwd = new Cookie("pwd", login.getPwd());
name.setMaxAge(0);
pwd.setMaxAge(0);
response.addCookie(pwd);
response.addCookie(name);
}
在前台通过javascript还要取值
同时在他放到cookie里面之后
还需要回显用户名 密码 还有复选框
//就绪函数
$(function(){
//通过文档document 获取里面放的cook
var cookie = document.cookie;
//将这个 ; 截取掉
var arr=cookie.split(";");
//截取完之后就变成了一个数组 需要循环 将这个循环里面的 ,号去掉
for(var i=0;i<arr.length;i++){
var err=arr[i].split("=");
//再判断一下里面的值
if(err[0]!=null&&err[0]!=""){
//去掉之后 前面还有一个空格 trim 截取掉 与闯进来的 name和pwd 比较
if(err[0].trim(" ")=="name"){
//如果cook 里面有值的话 将里面的值 在赋值给 文本框里面 相当于回显
$("[name='name']").val(err[1]);
}
if(err[0].trim(" ")=="pwd"){
$("[name='pwd']").val(err[1]);
}
}
}
//这里是 复选框的回显
if($("[name='name']").val()!=""&&$("[name='pwd']").val()!=""){
$("[name='dl']").attr("checked",true);
}
})