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

操作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("/");

猜你喜欢

转载自www.cnblogs.com/itxdl/p/10842871.html