cookie是下面創(chuàng)建的,那上面獲取的是啥?
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分隔,并放到數(shù)組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);
問題:下面才創(chuàng)建的鍵值對(duì)是("listcookie",list),上面是咱們獲取到的?就算創(chuàng)建的位置沒有關(guān)系,那上面又是怎么用.equals方法判斷的,而且list還是根據(jù)判斷結(jié)果追加的?沒看懂,求解釋。。
2017-07-21
上面是先去獲取有沒有已經(jīng)存過的Cookie,跟著就判斷Cookie是否為null,如果是null,表示沒有存過Cookie。又判斷了它的長度是不是大于0,如果等于0,就表示已經(jīng)存過Cookie,但是Cookie中沒有數(shù)據(jù)。最后創(chuàng)建的?Cookie cookie = new Cookie("listcookie",list);是保存數(shù)據(jù)的臨時(shí)Cookie對(duì)象,把這個(gè)對(duì)象保存在response中才能在本地建立一個(gè)Cookie文件保存Cookie對(duì)象中的數(shù)據(jù)。