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

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

哪位大神逐行解釋一下?有點稀里糊涂的!感謝??!

String?list?="";
????????
??????????????Cookie[]?cookies?=?request.getCookies();
????????????
??????????????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);

cookie這一章確實還需再看幾遍

正在回答

2 回答

cookie本身是有生命周期的,即有個過期時間。

下面這段代碼的用途是來判斷是否有匹配的cookie,如果有,執行這行代碼? ?list?=?c.getValue();

?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);


實際上項目第一次被執行的時候是先執行的第2段代碼,然后第二次才是執行的第1段代碼

---------------------------------------------------------------------------------------------------

至于cookie里面存的值:

舉個例子,當我點擊的id為1的商品,?則list=“1,”;

????????????????????????點擊id為2的商品,則list ="1,2,";

因為?list+=request.getParameter("id")+",";?等同于?list = list +?request.getParameter("id")+","

即重新覆蓋原來字符串的意思。


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

Juneava 提問者

非常感謝!
2016-11-23 回復 有任何疑惑可以回復我~

新建cookie,然后往cookie里面放東西,之后取出來遍歷,判斷有沒有超過一千

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

舉報

0/150
提交
取消

哪位大神逐行解釋一下?有點稀里糊涂的!感謝??!

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

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

幫助反饋 APP下載

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

公眾號

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