Cookie cookie = new Cookie("ListViewCookie",list);这个cookie变量没有重复定义吗?不应该是cookie = new Cookie("ListViewCookie",list);的吗?

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

杨文鑫

2017-06-12 09:12

String list ="";

              //从客户端获得Cookies集合

              Cookie[] cookies = request.getCookies();

              //遍历这个Cookies集合

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

              {

             for(Cookie c:cookies)

             {

                 if(c.getName().equals("ListViewCookie"))

                 {

                    list = c.getValue();

                 }

             }

         }

              

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

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

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

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

              {

                  if(arr.length>=1000)

                  {

                      list="";

                  }

              }

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

              response.addCookie(cookie);


写回答 关注

3回答

  • 茶芽
    2017-06-12 17:49:13
    已采纳

    没有重复定义啊,Cookie[] cookies = request.getCookies();和  Cookie cookie = new Cookie("ListViewCookie",list);不一样啊

    杨文鑫

    Cookie cookie = new Cookie("ListViewCookie",list);这句话每次都创建一个cookie response.addCookie(cookie);这句话写入Cookie时岂不是写入了无数个名字为"ListViewCookie"的cookie if(c.getName().equals("ListViewCookie"))这句话取cookie值的时候怎么知道取哪个名为"ListViewCookie"的cookie

    2017-06-13 08:17:49

    共 1 条回复 >

  • 1223334233446
    2017-09-25 22:25:14

    同名cookie会覆盖的

  • 茶芽
    2017-06-15 15:09:26

    只会创建一个吧,cookie的生命周期不是到浏览窗口关闭吗?


JAVA遇见HTML——JSP篇

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

248279 学习 · 3071 问题

查看课程

相似问题