request.getCookies()方法得不到cookie,只得到一个内存cookie.

skyhits1921 2008-11-26 03:01:20
我想把客户端的cookie全部读取出来,不过我用request.getCookies()返回的只是一个内存cookie,cookieName='JSessionID',value是一个十六进制的字符串,(这个cookie在客户端不存在)它没把客户端的cookie取出来,为什么只取了一个内存的cookie.希望达人解决.
...全文
3544 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
崔夫子吃葡萄 2012-05-05
  • 打赏
  • 举报
回复
问题:想把客户端的cookie全部读取出来,不过用request.getCookies()返回的只是一个内存cookie,cookieName='JSessionID',value是一个十六进制的字符串,(这个cookie在客户端不存在)它没把客户端的cookie取出来,为什么只取了一个内存的cookie.希望达人解决.
解决方案如下:
其实这里面有一个path路径的问题在作怪 ! ! 其实学者可以在那个设置好的cookie后面,用(cookie名).setPath("/");
有时候解决问题就是这么简单,只因为你的cookie作用范围不够大,所以你访问的域名路径无法用你先前设置的cookie。
gsdq123 2010-04-22
  • 打赏
  • 举报
回复
?????
t273249208 2010-03-09
  • 打赏
  • 举报
回复
cookie 这个东西像女人,很不听话。
xhf0813 2009-09-27
  • 打赏
  • 举报
回复
我的硬盘上确实生成了cookie文件,但是request.getCookies()方法却只得到了一个名为JSessionId的cookie:
name:JSESSIONID,value:BBD8308DDE8E0EA6035D47B02F110452。
而我真正需要的cookie却没能得到,这是为什么呢?请高人指点,谢谢!
skyhits1921 2008-11-26
  • 打赏
  • 举报
回复
哦,知道啦,不过我用cookie.setContextPath("/")写不到客户端,但是用cookie.setContextPath("/192.168.210.77")却可以写到客户端,这是为什么?
  • 打赏
  • 举报
回复
楼主没有搞清楚下面两者的区别:

会话cookie和持久cookie的区别 :
  如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。
  如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。
  存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

什么时候是保存在内存中,什么时候保存在硬盘中

上面说的很清楚了,你看以下吧
hejia12 2008-11-26
  • 打赏
  • 举报
回复
cookie存在一定的路径,看看是不是你读取cookie的路径和设置cookie的路径不一致?

81,092

社区成员

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

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