TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
关于Cookie的路径及Cookie的获取问题?7 }& S4 E; E% a0 F8 |9 s& ~
6 M, z4 v! q) I1 E1 [# R2 \问题描述:
/ K- i# g3 o e. w5 Z; `Cookiec1=newCookie("cname","c1");
& Q8 U) y* a F ?) Jc1.setPath("/MyApp");7 f9 |! [( }5 |8 y$ w& x
c1.setMaxAge(Integer.MAX_VALUE);6 o% l; y/ i+ v5 H" y
response.addCookie(c1);
8 v6 N, c$ z: m: t" }' S% H3 n1 qCookiec2=newCookie("cname","c2");9 n* p3 L0 @! G6 F! p% B* W
c2.setPath("/MyApp/servlet");+ H% j' c# b/ n0 |, u
c2.setMaxAge(Integer.MAX_VALUE);/ p; ? l. }& ~7 N* t; i
response.addCookie(c2);
( S6 S( f6 I# B& ?' `2 d' |6 l
0 H' e1 H& D! _9 x6 x
7 ?6 E, R1 V. Q$ b/ N, _: `以上代码表明向客户端写了2个重名的Cookie,但path属性不一样。
$ t1 S! ^5 L% c7 o+ u请问浏览器将带哪个Cookie给服务器?, G' ^7 `4 ^0 s# q
答:这个必须根据客户端访问的服务器资源的路径来决定。& R. ~' Q+ G, p+ l1 J4 W- s' M
如果用户访问的某个资源的路径为/MyApp/servlet/SomeServlet,! g+ g d9 Y, h" ^' _* V, L6 ^
那么这2个cookie浏览器都会带给服务器;如果用户访问的资源的路径为/Myapp/1.jsp,
, C! q+ M$ j0 G- [那么浏览器只会带第1个cookie过来。
! X1 B) S7 e3 y! e) \+ a4 V, c4 e
|
|