在做两周内不用重复登陆功能的时候,遇到了下面的问题。            Cookie myname=new Cookie("myname",username);  
    myname.setMaxAge(14*24*3600);//two weeks  
    response.addCookie(myname);  
                    
    Cookie[] allCookies=request.getCookies(); 
     System.out.println("个数:"+allCookies.length);
     for(int i=0;i<allCookies.length;i++)  
        {  
            Cookie temp=allCookies[i];  
            System.out.println("内容:"+temp.getName());
          
        }  打印结果个数只有一个,为JSESSIONID。
请问怎么刚新增的cookie-myname为什么没有打印出来?
当注销用户时候,我想把cookie给删了
                       Cookie[] allCookies=request.getCookies(); 
System.out.println("个数:"+allCookies.length);
for(int i=0;i<allCookies.length;i++)  
    {  
Cookie temp=allCookies[i];  
if("myname".equals(temp.getName())){
temp.setMaxAge(0); 
}
       
    }  
Cookie[] allCookies2=request.getCookies(); 
System.out.println("删除后个数:"+allCookies2.length);请问删除后怎么个数仍然为2。除了JSESSIONID这个cookie外,myname为什么仍然存在? 

解决方案 »

  1.   

              Cookie myname=new Cookie("myname",username);  
            myname.setMaxAge(14*24*3600);//two weeks  
            response.addCookie(myname);  
                            
            Cookie[] allCookies=request.getCookies(); 
             System.out.println("个数:"+allCookies.length);
             for(int i=0;i<allCookies.length;i++)  
                {  
                    Cookie temp=allCookies[i];  
                    System.out.println("内容:"+temp.getName());
                         
                }  因为不是一个对象,一个是request,一个是response
                      Cookie[] allCookies=request.getCookies(); 
                System.out.println("个数:"+allCookies.length);
                for(int i=0;i<allCookies.length;i++)  
                {  
                    Cookie temp=allCookies[i];  
                    if("myname".equals(temp.getName())){
                        temp.setMaxAge(0); 
                    }
                   
                }  
                Cookie[] allCookies2=request.getCookies(); 
                System.out.println("删除后个数:"+allCookies2.length);
    此处的原因在于Cookie temp=allCookies[i];  
                    if("myname".equals(temp.getName())){
                        temp.setMaxAge(0); 
                    }
    楼主应该认真的看下J2SE的基础和servlet