六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 64|回复: 0

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

[复制链接]

升级  10%

1

主题

1

主题

1

主题

童生

Rank: 1

积分
5
 楼主| 发表于 2013-2-6 08:44:58 | 显示全部楼层 |阅读模式
在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[i] != apptar_messageid) {     log += "," + arr[i];     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[i];    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[j].equals(request.getParameter("msgId"))){      msgId += ","+ msgs[j];      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("/");问题解决。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表