­

IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie路径问题

  • 2019 年 10 月 5 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ITXDL123/article/details/90089752

操作Cookie时,需要注意路径问题:

设置操作:任何路径都可以设置Cookie,但是有时我们也是用设置进行替换Cookie和删除Cookie(maxAge=0)!

替换:只能由完全相同的路径来操作!父路径,子路径都不可操作!

删除:只能由完全相同的路径来操作!父路径,子路径都不可操作!

读取操作:

子路经的Cookie,父路径无法读取!

父路径的Cookie,子路经可以读取!

例如:拥有如下三个Servlet:

a. http://localhost/项目名/xx/a.do

域名:localhost

路径:/项目名/xx/

b. http://localhost/项目名/xx/b.do

域名:localhost

路径:/项目名/xx/

c. http://localhost/项目名/xx/yy/c.do

域名:localhost

路径:/项目名/xx/yy/

当a存储Cookie时:

a:可以读取,可以替换,可以删除

b:可以读取,可以替换,可以删除

c:可以读取,不能替换,不能删除

当c存储Cookie时:

a:不能读取,不能替换,不能删除

b:不能读取,不能替换,不能删除

c:可以读取,可以替换,可以删除

我们常设置项目中所有Cookie路径为"/"可以保证在所有代码中,Cookie都可以读取,可以替换,可以删除!方法如下:

cookie.setPath("/");