1.Cookie路径介绍
我们知道Cookie的属性有很多,其中有一个属性是路径。有些人认为Cookie的路径指的是Cookie在客户端的保存路径,其实并不是。
Cookie的路径是在服务器创建Cookie时设置的,它的作用是决定浏览器访问服务器的某个资源时,需要将浏览器端保存的那些Cookie归还给服务器。如图1-1所示:
如果服务器创建Cookie时没有设置路径,那么该Cookie的路径是当前资源的访问路径。例如:在index.jsp页面中创建了一个Cookie,index.jsp页面的访问路径为“/Example/“,那么该Cookie的路径就是”/Example/“。如果服务器创建Cookie时设置了路径,那么Cookie的路径就是设置的路径,例如:cookie.setPath(“/Example/cookie”),那么该Cookie的路径就是”/Example/cookie“。
2.Cookie路径练习
通过上面对Cookie路径的介绍,我们对它有了一定的了解,现在通过一个案例来验证以上结论。具体步骤如下:
(1)创建一个web应用,Example20,在该应用下的WebRoot目录下新建一个目录cookie,并在该目录下新建一个jsp文件,名称为one.jsp,主要代码如例1-1所示:
例1-1one.jsp
<body><%
Cookiecookie=newCookie("one","hello");response.addCookie(cookie);%>
我们知道Cookie的属性有很多,其中有一个属性是路径。有些人认为Cookie的路径指的是Cookie在客户端的保存路径,其实并不是。
Cookie的路径是在服务器创建Cookie时设置的,它的作用是决定浏览器访问服务器的某个资源时,需要将浏览器端保存的那些Cookie归还给服务器。如图1-1所示:
图1-1cookie路径
图1-1中,浏览器端保存的Cookie有三个,分别是Cookie1、Cookie2和Cookie3。它们三个的访问路径分别为:“/Example/cookie“、”/Example/“、”Example1/cookie“。浏览器访问服务器端的路径为:”http://localhost:8080/Example/cookie/a/index.jsp“。也就是说index.jsp页面的访问路径为:”/Example/cookie/a/“,该路径包含了Cookie1和Cookie2的路径,因此在访问index.jsp时,浏览器会将Cookie1和Cookie2发送给服务器。这就是Cookie的路径的作用,其中涉及到访问路径。
如果服务器创建Cookie时没有设置路径,那么该Cookie的路径是当前资源的访问路径。例如:在index.jsp页面中创建了一个Cookie,index.jsp页面的访问路径为“/Example/“,那么该Cookie的路径就是”/Example/“。如果服务器创建Cookie时设置了路径,那么Cookie的路径就是设置的路径,例如:cookie.setPath(“/Example/cookie”),那么该Cookie的路径就是”/Example/cookie“。
2.Cookie路径练习
通过上面对Cookie路径的介绍,我们对它有了一定的了解,现在通过一个案例来验证以上结论。具体步骤如下:
(1)创建一个web应用,Example20,在该应用下的WebRoot目录下新建一个目录cookie,并在该目录下新建一个jsp文件,名称为one.jsp,主要代码如例1-1所示:
例1-1one.jsp
<body><%
Cookiecookie=newCookie("one","hello");response.addCookie(cookie);%>
</body>
例如,浏览器中保存如下几个cookie,它们的路径分别是:
aCookie.path=/Example20/;bCookie.path=/Example20/jsps/;cCookie.path=/Example20/jsps/cookie访问路径是:http://localhost:8080/Example20/index.jsp
浏览器发送给服务器的cookie有:aCookie;
访问路径是:http://localhost:8080/Example20/jsps/a.jsp
浏览器发送给服务器的cookie有:aCookie,bCookie;
访问路径是:http://localhost:8080/Example20/jsps/cookie/b.jsp