Cookie的路径设置(很重要)

1.浏览器管理Cookie步骤

 

 

 

 

 

 

 

2.Cookie的路径

       该路径可通过setPath("/xxx")进行设置,这个路径直接决定服务器的请求是否会从浏览器中加载某些Cookie。

       首先默认情况下,如果不设置Cookie的path,默认是“/项目名/当前路径的上一层地址”,如:请求路径:/cookie/cookieDome/servlet/login,Cookie的请求路径:/cookie/cookieDome/servlet

       如果我们设置path,如果当前访问的路径包含了Cookie的路径(当前访问路径在Cookie路径基础上要比Cookie的范围小)Cookie就会加载request的对象之中。

再次强调:这个路径就是请求的上一层路径,例如在请求http://loaclhost/day01/servlet/hello时,服务器响应了一个Cookie,那么这个Cookie的默认路径就是/day01/servlet,默认当前请求路径的上一级。

Cookie的路径,它只能拿到当前请求路径的上一级所包含的路径。也就是说,在访问子路径时,会包含其父路径的Cookie,而在访问父路径时,不包含子路径的Cookie.

例如:有三个请求路径各包含一个Cookie并设置

a:http://localhost:8080/day01/hello

b:http://localhost:8080/day01/hello/b

c:http://localhost:8080/day01/hello/b/c

当请求b路径时,request中只能获取到ab请求的cookie对象

当请求c路径时,request中能获取到abc请求中的cookie对象

注意:在设置cookie路径时最好不要写死,可通过request.getContextpath()来获取当前项目的根目录来设置。如下图:

 // 死编码
        // cookie.setPath("/hello/xx");
        // 活编码
        // cookie.setPath(request.getContextPath() + "/");

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值