Cookie的路径设置(很重要)

1.浏览器管理Cookie步骤

Cookie的路径设置(很重要)_第1张图片

 

 

Cookie的路径设置(很重要)_第2张图片

 

 

Cookie的路径设置(很重要)_第3张图片

 

 

Cookie的路径设置(很重要)_第4张图片

 

Cookie的路径设置(很重要)_第5张图片

Cookie的路径设置(很重要)_第6张图片

Cookie的路径设置(很重要)_第7张图片

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的路径设置(很重要)_第8张图片

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

Cookie的路径设置(很重要)_第9张图片

例如:有三个请求路径各包含一个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() + "/");

 

 

你可能感兴趣的:(java,Cookie的路径设置,cookie)