主要是想实现自动登陆。
我设置了cookie的时限,可发现怎么也没有用,只要浏览器开着,cookies就可以读取出来,即使是我清除了浏览器的cookies,依然可以显示。
可是只要关了浏览器,下次再打开网页时,就不行了,设置了时限也不行。
难道是因为我在首页设置了这个?
 Cookie[]AllCookie=request.getCookies();//获取所有cookies
  if(AllCookie!=null)
  {
   //省略扫描cookies的代码。
  }
因为我发现如果不加if语句,扫描的时候总是报错,就是cookies读不出来。明明浏览器上储存了很多cookies,可总是会有AllCookie=null的?
可是当我登陆完后,用一个帐号和密码设成cookie的时候,自动跳回首页时,AllCookie又会不等于null了。
先谢谢各位

解决方案 »

  1.   

    清除了浏览器的cookies,就没有纪录了
    怎么显示啊
      

  2.   

    http://topic.csdn.net/u/20090302/13/66e29541-1c39-477c-97e2-e8d091719d17.html
    看7楼的回复估计是因为设置cookie后,没有返回到某个jsp的原因
      

  3.   

    2楼,我也不知道为什么会这样的。
    现在就是当我注释掉那个if语句后,就会报错。
    也就是可以肯定地说Cookie[]AllCookie=request.getCookies();没有读出浏览器中的cookies。
    还有就是我用了这个  
       Cookie cookie1=new Cookie("admin","admin");
       response.addCookie(cookie1);
       cookie1.setMaxAge(60*60*60);
       cookie1.setPath( "/aaa/ "); 
    完了之后,查看浏览器的cookies文件,也找不到我所储存的cookie,这是什么原因呀?
    3楼的我看看
      

  4.   

    定义了cookie对象后,需要response.addCookie(cookie);
    并且要返回一个JSP
      

  5.   

     改成这样后,又莫名其妙的可以了
     Cookie cookie1=new Cookie(name1,code1);
      cookie1.setMaxAge(60*60*60); 
      response.addCookie(cookie1);
    原来网页上是无法读取其他网站储存的cookies的 所以开始的时候是返回null
    也就是说我的问题就是上面的3楼那段代码没有将cookie写入浏览器,所以不行。