使用cookie实现自动登录

//登录jsp

<%
//获取cookie的值
String
userName="";
String pw
d="";
Cookie[] cookies=request.getCookies();    
if(cookies!=null&&cookies.length>0){     
    //遍历Cookie    
    for(int i=0;i<cookies.length;i++){    
        Cookie cookie=cookies[i];    
        //此处类似与Map有name和value两个字段,name相等才赋值,并处理编码问题     
             name=java.net.URLDecoder.decode(cookie.getName(),"utf-8");    
             psw=cookie.getValue();    
    }    
}    
%>

<form method="post" action="main">

<input type="text" class="text" value="<%=userN ame%>" id="account"
name="account" οnfοcus="this.value = '';"
οnblur="if (this.value == '') {this.value = 'Username';}">
<div class="key">
<input type="password" value="<%= pwd%>" id="password"
userN ame="password" οnfοcus="this.value = '';"
οnblur="if (this.value == '') {this.value = 'Password';}">
</div>
<label for="remember-me"> <input name="aaaa" type="checkbox"
οnclick="remember();"> 记住密码
</label>
<input type="hidden" name="rememberId" value="0" id="remFlag">
<div style="top: 190px; left: 140px; position: absolute;">
<span style="color: red;" id="error">${errors }</span>
</div>
<div class="signin">
<input type="submit" value="Login">
</div>

</form>

//js代码

//记住密码功能
function remember(){
var rememberId= $("input[type='checkbox']").is(':checked');
if(rememberId==true){ //如果选中设置rememberId为1
  $("#rememberId").val("1");
}else{ //如果没选中设置rememberId为0
    $("#rememberId").val(“0”);
}
}

//后台代码

   String rememberId= request.getParameter("rememberId");
       if("1".equals(rememberId)){ //"1"表示用户勾选记住密码
        
            Cookie cookie=new Cookie(URLEncoder.encode(account,"utf-8"),password);    
         
            cookie.setMaxAge(30*24*60*60);   //设置cookie存活时间
            cookie.setPath("/");
            response.addCookie(cookie); 
        }else{

//如果没有勾选清空cookie
        Cookie[] cookies = request.getCookies();   
            for(int i=0;i<cookies.length;i++)     
            {   
             System.out.println(cookies[i].getName() + ":" + cookies[i].getValue());   
             Cookie cookie = new Cookie(cookies[i].getName(), null);   
             cookie.setMaxAge(0);   
             cookie.setPath("/");
             response.addCookie(cookie);   
            }  
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值