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

来源:8-8 使用Cookie实现保存商品浏览记录

Lion_ssg

2017-07-21 17:30

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还是根据判断结果追加的?没看懂,求解释。。


写回答 关注

1回答

  • 慕天心
    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对象中的数据。

    慕天心 回复Lion_s...

    如果以前存在Cookie,那么在new的时候你可以理解为新建了一个Cookie替换了原来的Cookie,也可以理解为把新的Cookie对象追加到原来的Cookie中。因为在每次刷新的时候cookie文件的修改时间都改变过了,这说明在每次刷新的时候cookie文件都改变过!

    2017-07-24 15:05:58

    共 3 条回复 >

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248279 学习 · 3071 问题

查看课程

相似问题