当前位置: 代码迷 >> Web前端 >> Cookie记要用户名密码
  详细解决方案

Cookie记要用户名密码

热度:38   发布时间:2012-10-28 09:54:44.0
Cookie记录用户名密码
/////////////////////////////////////////////////////////////
jsp(js):-----------------------------------------------------
/////////////////////////////////////////////////////////////


<script>
function getCookieValue(tname){
var name = escape(tname);
//读cookie属性,这将返回文档的所有cookie  
var allcookies = document.cookie;
//alert("allcookies="+allcookies);
//查找名为name的cookie的开始位置  
name += "=";  
var pos = allcookies.indexOf(name);      
//如果找到了具有该名字的cookie,那么提取并使用它的值  
if (pos != -1){                                   //如果pos值为-1则说明搜索"version="失败  
  var start = pos + name.length;                  //cookie值开始的位置  
  var end = allcookies.indexOf(";",start);        //从cookie值开始的位置起搜索第一个";"的位置,即cookie值结尾的位置  
  if (end == -1) end = allcookies.length;         //如果end值为-1说明cookie列表里只有一个cookie  
  var value = allcookies.substring(start,end);    //提取cookie的值  
  return unescape(value);                         //对它解码        
  }     
else return "";                                   //搜索失败,返回空字符串  
}  

function initNameAndPassword()
{
   //分析cookie值,显示上次的登陆信息  
   var userNameValue = getCookieValue("username");
   var passwordValue = getCookieValue("password");
   var checkcookie = getCookieValue("checkcookie");   
   // $('#userName').value = "ddd";
    document.getElementById("userName").value=userNameValue;
    document.getElementById("password").value=passwordValue; 
    if(checkcookie!=null&&checkcookie=="true"){
    document.getElementById("saveCookie").checked="true";}
    //$('#password').value = "ddd";
}
</script>

//////////////////////////////////////////////////////////////////////
action(用户名密码验证完成之后的代码):-------------------------------------
//////////////////////////////////////////////////////////////////////

/**
* Cookie操作,保存Cookies和删除cookie
*/
if(saveCookie!=null&&saveCookie.length!=0)
{
log.info("记录Cookie开始~~~~~~~~~~~~~~~~");
Cookie namecookie = new Cookie("username",name);
Cookie passwordcookie = new Cookie("password",password);
Cookie checkcookie=new Cookie("checkcookie","true");

//生命周期    一年
namecookie.setMaxAge(60*60*24*365);
passwordcookie.setMaxAge(60*60*24*365);
checkcookie.setMaxAge(60*60*24*365);
getResponse().addCookie(namecookie);
getResponse().addCookie(passwordcookie);
getResponse().addCookie(checkcookie);
log.info("记录Cookie结束~~~~~~~~~~~~~~~~");
}
else
{
log.info("删除Cookie开始~~~~~~~~~~~~~~~~");
Cookie[]   cookies=getRequest().getCookies();      
//cookies不为空,则清除      
for(int i=0;i<cookies.length;i++)    
{      
    String   value=cookies[i].getName();      
    //查找用户名      
    if(value.equals("username")||value.equals("password")||value.equals("checkcookie"))      
    {      
         cookies[i].setMaxAge(0);      
         getResponse().addCookie(cookies[i]);    
    }   
}  
log.info("删除Cookie结束~~~~~~~~~~~~~~~~");
}
  相关解决方案