系统在用户cookies中记录用户名和密码,用户可以自动登录,但是当用户选择“退出”的时候,就清空cookies中的用户名和密码,下次登录的时候就必须通过登录页面登录但是我没有找到cookies中的删除方法,我使用了
Cookie cookie = new Cookie(userId,null);
response.addCookie(cookie);和
Cookie cookie = new Cookie(userId,"");
response.addCookie(cookie);
都没有办法清空,奇怪了

解决方案 »

  1.   

    是这样吗
    Cookie cookie = new Cookie(userId,"");
    cookie.setMaxAge(0);
    response.addCookie(cookie);
      

  2.   

    cookie.setMaxAge(0);是将生命周期设置为无限
      

  3.   

    cookie.setMaxAge(0);
    可以设置为无效。
    cookie时间不会是无限的,好像GOOGLE存放了30多年,呵呵。
    如果设置为cookie.setMaxAge(-1);那就是关闭浏览器后失效.
      

  4.   

    cookie.setMaxAge(0);
    可以设置为无效。
    cookie时间不会是无限的,好像GOOGLE存放了30多年,呵呵。
    如果设置为cookie.setMaxAge(-1);那就是关闭浏览器后失效.以上回答正解
    cookie.setMaxAge(n);//n为cookie的生存时间
      

  5.   

    cookie.setMaxAge(n);//我也觉得把n写的时间很短就可以拉!过了这个时间就无效了!
    把n设置成1是个不错的建议,就让它有效1秒,客户也察觉不出来的!
    cookie.setMaxAge(1);//一秒
    cookie.setMaxAge(60*60*24);//一天    
      

  6.   

    是不是还设置了setPath()之类的
    要保证路径没问题~~
      

  7.   

    好像是:
    cookie.setMaxAge(0)
      

  8.   

    请教各位大虾们:你们看看我这样行不。
    setcookie("lastsave",null,mktime()-3600,"/"); 
      

  9.   

    function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
    {
        var Days = 30; //此 cookie 将被保存 30 天
        var exp  = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }
    function getCookie(name)//取cookies函数        
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
         if(arr != null) return unescape(arr[2]); return null;}
    function delCookie(name)//删除cookie
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }