TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
关于Cookie的路径及Cookie的获取问题?
Z- Q8 L8 @' ?. L) s! h% F
8 \3 Z6 G! Y- d8 p/ h d问题描述:8 {! R9 ^! U6 U, [7 Q
Cookiec1=newCookie("cname","c1");
3 ^" t/ ?' A7 |4 a1 Q ic1.setPath("/MyApp");
" d$ y) K# B: |: ?( M" |c1.setMaxAge(Integer.MAX_VALUE);
4 @- s9 U! i$ E: N {/ }4 e: V5 Oresponse.addCookie(c1);
! `" c# _ ~: U! ?- `Cookiec2=newCookie("cname","c2");+ d' K% U4 F7 t2 K
c2.setPath("/MyApp/servlet");
9 Z7 H ?- y, _4 \) b1 S; i0 l/ _c2.setMaxAge(Integer.MAX_VALUE);
" R7 w0 ~( ^2 ]. cresponse.addCookie(c2);
6 j% Q/ s( m* @" h4 L9 _8 t- a
) T R& `* R! u( D. l) }1 b% Z/ `2 G; e" h- {% w& }& L
以上代码表明向客户端写了2个重名的Cookie,但path属性不一样。, c* e: C7 X( r# h
请问浏览器将带哪个Cookie给服务器?
X9 W* J! w. C+ s+ S5 R* S答:这个必须根据客户端访问的服务器资源的路径来决定。7 B" i7 A* Z1 t
如果用户访问的某个资源的路径为/MyApp/servlet/SomeServlet,
8 F, a) j+ Y0 ^6 Q9 O那么这2个cookie浏览器都会带给服务器;如果用户访问的资源的路径为/Myapp/1.jsp,0 ]/ _/ W I- c' z' y
那么浏览器只会带第1个cookie过来。0 F7 D/ y9 x B6 @1 A
/ K# k2 |# T7 V4 H' H |
|