亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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還是根據判斷結果追加的?沒看懂,求解釋。。


正在回答

1 回答

上面是先去獲取有沒有已經存過的Cookie,跟著就判斷Cookie是否為null,如果是null,表示沒有存過Cookie。又判斷了它的長度是不是大于0,如果等于0,就表示已經存過Cookie,但是Cookie中沒有數據。最后創建的?Cookie cookie = new Cookie("listcookie",list);是保存數據的臨時Cookie對象,把這個對象保存在response中才能在本地建立一個Cookie文件保存Cookie對象中的數據。

0 回復 有任何疑惑可以回復我~
#1

Lion_ssg 提問者

懂了,多謝
2017-07-21 回復 有任何疑惑可以回復我~
#2

Lion_ssg 提問者

還有個疑問,每次刷新detail后都會new一個cookie嗎?還是刷新之前在客戶端保存的cookie?代碼寫的是new啊,這個怎么理解?
2017-07-21 回復 有任何疑惑可以回復我~
#3

慕天心 回復 Lion_ssg 提問者

如果以前存在Cookie,那么在new的時候你可以理解為新建了一個Cookie替換了原來的Cookie,也可以理解為把新的Cookie對象追加到原來的Cookie中。因為在每次刷新的時候cookie文件的修改時間都改變過了,這說明在每次刷新的時候cookie文件都改變過!
2017-07-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

cookie是下面創建的,那上面獲取的是啥?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號