TA的每日心情 | 衰 2021-2-2 11:21 |
|---|
签到天数: 36 天 [LV.5]常住居民I
|
关于Cookie的路径及Cookie的获取问题?0 F& y" F1 E) G1 \
) T- v& k4 p6 G1 a7 l" ]8 }8 R; C
问题描述: G5 y$ V8 `8 n+ z8 A
Cookiec1=newCookie("cname","c1");: m4 V; B4 J( M! H V9 G
c1.setPath("/MyApp");; w9 ^0 M4 Q8 d, H$ @# U; J
c1.setMaxAge(Integer.MAX_VALUE);3 t( \; e5 p2 r
response.addCookie(c1);
) y5 U1 H* o& r+ U- YCookiec2=newCookie("cname","c2");
; c; y) N2 ]2 R" k/ Z' _c2.setPath("/MyApp/servlet");- d: O5 J `! U! `" r; u
c2.setMaxAge(Integer.MAX_VALUE);
, r1 D2 x2 u1 Z% S: c1 G2 c8 K' d1 wresponse.addCookie(c2);
' e# W0 | ~* f ^* w5 p& d' |" e2 {7 u
; P' E3 Z: E! ?5 I以上代码表明向客户端写了2个重名的Cookie,但path属性不一样。$ x; z! `8 p4 {( d2 P1 j* }4 ^
请问浏览器将带哪个Cookie给服务器?/ n) H& z2 G: u* D$ o! G5 J
答:这个必须根据客户端访问的服务器资源的路径来决定。
; F2 ^) D* U \如果用户访问的某个资源的路径为/MyApp/servlet/SomeServlet,
I( C- |9 F3 Z. N/ k那么这2个cookie浏览器都会带给服务器;如果用户访问的资源的路径为/Myapp/1.jsp,6 u s l2 W! A
那么浏览器只会带第1个cookie过来。; S% ]& g) y6 T5 T% d, z) {! E
$ q2 s$ K/ b4 j, y
|
|