日期:2014-05-19  浏览次数:20682 次

cookie自动登录,无法删除

登录时,产生2个cookie
Java code

if(getAutologin().equals("on")){
                Cookie usernamecookie = new Cookie("usernamecookies", getUsername().trim());
                usernamecookie.setMaxAge(60*60*24*7); // 设置Cookie有效期为
                usernamecookie.setPath("/");
                response.addCookie(usernamecookie);  
                Cookie passwordcookie = new Cookie("passwordcookies", MD5.MD5Password(getPasswd()).trim());   
                passwordcookie.setMaxAge(60*60*24*7); 
                usernamecookie.setPath("/");
                response.addCookie(passwordcookie);  
            }





退出时,清除cookie

Java code

Cookie cookies[] = request.getCookies() ;
        
        logger.info(cookies.length);
        
       Cookie c = null ;
      for(int i=0;i<cookies.length;i++){
           c = cookies[i] ;
           if(c.getName().equals("usernamecookies")){
               
               Cookie cookie = new Cookie("usernamecookies", null);  
               cookie.setMaxAge(0);  
               cookie.setPath("/");//根据你创建cookie的路径进行填写      
               response.addCookie(cookie);  
           }
           if(c.getName().equals("passwordcookies")){
                   c.setMaxAge(0) ;
               response.addCookie(c) ;     //修改后,要更新到浏览器中    
           }
           
           
       }




但是仍然可以自动登录,并且cookie还是两个,没有清除,怎么回事

------解决方案--------------------
代码没看出问题,
不过我是用了一个cookie,保存一个数组,密码和账号

还有两个cookie,是因为,并没有删除cookie,只把它的设置为了空值和无效,