问答详情
源自:8-8 使用Cookie实现保存商品浏览记录

cookie是下面创建的,那上面获取的是啥?

String list = "";

      //从客户端获得cookie集合

      Cookie[] cookies = request.getCookies();

      if(cookies!=null&&cookies.length>0){

      //遍历

      for(Cookie c:cookies){

      if(c.getName().equals("listcookie")){

      list = c.getValue();

      }

      }

      }

      list+=request.getParameter("id")+",";

      //如果浏览记录超过1000,清零

      //按,把list分隔,并放到数组arr

      String[] arr = list.split(",");

      if(arr!=null&&list.length()>0){

      if(arr.length>=1000){

      list = "";

      }

      }

      Cookie cookie = new Cookie("listcookie",list);

      response.addCookie(cookie);


问题:下面才创建的键值对是("listcookie",list),上面是咱们获取到的?就算创建的位置没有关系,那上面又是怎么用.equals方法判断的,而且list还是根据判断结果追加的?没看懂,求解释。。


提问者:Lion_ssg 2017-07-21 17:30

个回答

  • 慕天心
    2017-07-21 19:11:59
    已采纳

    上面是先去获取有没有已经存过的Cookie,跟着就判断Cookie是否为null,如果是null,表示没有存过Cookie。又判断了它的长度是不是大于0,如果等于0,就表示已经存过Cookie,但是Cookie中没有数据。最后创建的 Cookie cookie = new Cookie("listcookie",list);是保存数据的临时Cookie对象,把这个对象保存在response中才能在本地建立一个Cookie文件保存Cookie对象中的数据。