yxdh4620 发表于 2013-2-6 08:44:58

cookie的一些使用(js与jsp中的不同):

在cookie中存放一组消息的Id,每个Id用逗号‘,’相隔,刚开始用javascript增加Cookie,
例:
var log = getCookie("visitedMsgs"); if(log){var arr = log.split(",");log = apptar_messageid;if(arr && arr.length > 0){   var j = 0;   for(var i = 0; i < arr.length; i++) {    if(arr != apptar_messageid) {   log += "," + arr;   j++;   if(j >= 9) {      break;   }    }   }} } else {log = apptar_messageid; } addCookie("visitedMsgs", log, 5);但是在使用JSP页面读取的时候只能得到第一个消息的Id。后改用JSP增加Cookie。
例:
Cookie[] cookies = request.getCookies(); if(cookies!=null){ for(int i=0;i<cookies.length;i++){Cookie cookie = cookies;    if(cookie.getName().equals("lookMsgs")){   String msgStr = cookie.getValue();   String[] msgs = msgStr.split(",");   if(msgs!=null && msgs.length>0){    int k = 0;    for(int j=0;j<msgs.length;j++){   if(!msgs.equals(request.getParameter("msgId"))){      msgId += ","+ msgs;      k++;      if(k>=5){       break;      }   }    }   }   }} Cookie cook = new Cookie("lookMsgs",msgId); cook.setMaxAge(7200000);response.addCookie(cook);察看Cookie发现两种增加Cookie的结果略有不同:javascript的Cookie比JSP的Cookie少了一对双引号“”;
但这次却没有得到"lookMsgs"的Cookie;再次查看Cookie发现Cookie中有一项path显示"lookMsgs"Path为"/detail/index.jsp".
最后在response.addCookie(cook);前增加一条语句:cook.setPath("/");问题解决。
页: [1]
查看完整版本: cookie的一些使用(js与jsp中的不同):