java cookie路径_Javaweb cookie的路径和cookie跨域操作-cookie设置

本文详细解释了Cookie的path设置如何影响浏览器在不同路径间传递Cookie,以及domain的作用。重点讨论了AServlet、BServlet和CServlet中Cookie的使用实例,以及如何根据路径规则判断是否携带Cookie。
摘要由CSDN通过智能技术生成

Cookie的path(理解)

浏览器在访问BServlet时,是否要带上AServlet保存的Cookie呢?这要看Cookie的path了。

现有资源如下:http://localhost:8080/webday02/servlet/AServlet

http://localhost:8080/webday02/servlet/BServlet,保存名为xxx的Cookie

http://loclahost:8080/webday02/servlet/CServlet,保存名为yyy的Cookie

http://loclahost:8080/webday02/servlet/user/DServlet, 保存名为zzz的Cookie

// 没有设置Cookie的path

AServlet {

Cookie c = new Cookie("xxx", "XXX");

response.addCookie(c);

}

// 设置了Cookie的path为/day06_2

CServlet {

Cookie c = new Cookie("yyy", "YYY");

c.setPath="/day06_2";

response.addCookie(c);

}

DServlet {

Cookie c = new Cookie("zzz", "ZZZ");

resposne.addCookie(c);

}在BServlet中保存的Cookie没有设置path,那么它的path默认为当前BServlet的所在路径,即“/day06_2/servlet”。

在CServlet中保存的Cookie设置了path为/webday02。

在DServlet中保存的Cookie没有设置path,那么它的path默认为DServlet的所在路径,即“webday02/servlet/user”当访问AServlet时,是否要带上xxx这个Cookie呢?因为AServlet的访问路径为/webday02/servlet/BServlet,它包含了xxx的path,即/webday02/servlet,所以需要带上。

当访问AServlet时,是否要带上yyy这个Cookie呢?因为AServlet的访问路径为/webday02/servlet/BServlet,它包含了xxx的path,即/webday02,所以需要带上。

当访问AServlet时,是否要带上zzz这个Cookie呢?因为AServlet的访问路径为/webday02/servlet/BServlet,它不包含zzz的path,即/webday02/servlet/user,所以不会带上。

Cookie的域domain(了解,本机不演示,需要要配置tomcat的web.xml虚拟主机)

Cookie的path是在同一主机中指定共享Cookie,如果主机不同那么就一定不能共享Cookie,无论path是什么。

如果希望不同的二级域名中可以共享Cookie,那么就要设置Cookie的domain了。

例如:news.baidu.com、tieba.baidu.com、zhidao.baidu.com,它们的域名不同,但百度希望它们之间可以共享Cookie,那么就要设置domain了。设置Cookie的path为“/”,例如:cookie.setPath("/");

设置Cookie的domain,例如:cookie.setDomain(".baidu.com"),其中domain中没有指定域名前缀!

在news.baidu.com主机中的某个项目中保存了Cookie

在tieba.baidu.com主机中某个项目中获取Cookie

当然这需要配置两个虚拟主机才行。

c33724c271bd6f3ae438f90a9b5f8336.png

只存访问路径为/webday02的cookie

cd98d8a071c378bc65e32a0b19b2d47f.png

浏览器查看cookie的路径

关注头条号,每天更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值