求救:写入Cookie发现一怪现象,SOS!!!

HenryY 2003-12-28 10:47:24
大虾我是这样写Cookie的:


在servlet中:

... ...

if (logined) {
logger.info("user: " + user_name + " logined.");
Cookie[] cookies = httpServletRequest.getCookies();
Cookie cookie = null;
for(int i = 0; i < cookies.length; i++){
if(cookies[i].getName().equalsIgnoreCase("loginID")){
cookies[i].setValue(user_name);
cookie = cookies[i];
break;
}
}
if(cookie == null){
cookie = new Cookie("loginID",user_name);
}
cookie.setMaxAge(3600);
httpServletResponse.addCookie(cookie);
return actionMapping.findForward("login_success");
}

... ...

读Cookie的代码:

Cookie cookie[] = request.getCookies();
for (int count = 0; count < cookie.length; count++) {
if(cookie[count].getName().equalsIgnoreCase("loginID")){
out.println(cookie[count].getName() + ":" + cookie[count].getValue() + "<br />");
}
}

我的情况是这样的:
使用Struts+Tomcat

在jsp登录页面中输入用户名(test)、密码(test),提交到一个Struts的Action中,就是上面这段代码,登陆成功后,进行处理,写入Cookie,然后转到主页面。
可是在写一个页面怎样都读不出来这个Cookie;但是我发现,如果我重新再打开jsp登录页面,输入用户名(test1)、密码(test1)后,上次登录过的test却读出来了,可是test1却又读不出来了。最后多次试验发现一直都是这样。真是百思不得其解啊!

求助大虾了!!
...全文
32 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CoolAbu 2003-12-31
  • 打赏
  • 举报
回复
你的JSP页面是不是也提交到这个Servlet页面的?

我觉得你第一次登录的是JSP页面,它会读你的Cookie,因为你在这个JSP页面中没有写Cookie,所以这个Cookie都是你上次设置的,然后提交到Servlet,Servlet处理过的成功页面再读的时候,就可以读出你Servlet中设置的Cookie了。

不知道我描述的是不是清楚?
chenyongcsdn 2003-12-31
  • 打赏
  • 举报
回复
你的读cookie的操作是在Action里,还是在jsp页面上呀?
如果是在jsp页面上应该是可能读出来的!
bamboo123 2003-12-31
  • 打赏
  • 举报
回复
request必须刷新才能得到最新的COOKIE。你的ACTION进入JSP页面是同一个请求,所以看不到。
HenryY 2003-12-29
  • 打赏
  • 举报
回复
再顶
HenryY 2003-12-29
  • 打赏
  • 举报
回复
自己顶一下

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧