這一段代碼什么意思,cookies的名字可以隨便起的嗎?那if(c.getName().equals("ListViewCookie")何時(shí)會(huì)不成立?
這一段代碼什么意思,cookies的名字可以隨便起的嗎?那if(c.getName().equals("ListViewCookie")何時(shí)會(huì)不成立?
這一段代碼什么意思,cookies的名字可以隨便起的嗎?那if(c.getName().equals("ListViewCookie")何時(shí)會(huì)不成立?
2015-09-18
舉報(bào)
2015-09-19
String list="";
Cookie[] cookies=request.getCookies();? //獲取當(dāng)前的cookie值
for(Cookie c:cookies){??????????????????????????????? //循環(huán)遍歷所有cookie
if(c.getName().equals("ListViewCookie")){? //判斷現(xiàn)有的cookie是否有名為L(zhǎng)istViewCookie的,如果有
list=c.getValue();??????????? //用c.getValue()取出來(lái)
}
}
list+=request.getParameter("id")+","; ?? //如果之前的cookie列表中沒(méi)有名為L(zhǎng)istViewCookie的cookie,則此時(shí)list是為空的,那么就獲取商品的id號(hào),加到list中。如果list不為空,那么list中存儲(chǔ)的就是之前的瀏覽記錄,那么這條語(yǔ)句就是在原來(lái)瀏覽記錄的基礎(chǔ)上,再加入新的商品id,這樣保證list中永遠(yuǎn)是所有的瀏覽記錄。后面的代碼就是超過(guò)1000條后清零。
最后,Cookie cookie=new Coolie("ListViewCookie",list);這條語(yǔ)句,就是將商品瀏覽記錄中商品的id,也就是list添加到cookie。
可能你理解是先加cookie才能判斷, 這里不是,這里是先 判斷cookie是否存在,然后做一系列處理,最后才是添加cookie。? ? ? ? ??
2015-09-19
請(qǐng)問(wèn)@pang,我的理解是:
這一步將最后一個(gè)(也是最新一個(gè)cookie的值取出來(lái),比如這個(gè)值是a,然后通過(guò)
這時(shí)候list的最終值是list=a1, ;
在ItemDAO類(lèi)取出的時(shí)候:
這一句話itemlist.add(getItemsById(Integer.parseInt(arr[i])));是不是表明arr[i]的值是一個(gè)數(shù)字形式的?
那么list=c.getValue();取到的值肯定是數(shù)字形式的。
不知道這樣想是不是對(duì)的,還望批評(píng)指正?
2015-09-19
cookie的名字可以隨便起,如果沒(méi)有name為L(zhǎng)istViewCookie的cookie時(shí),if語(yǔ)句就不成立了