TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
关于Cookie的路径及Cookie的获取问题?
5 I$ _ q7 o% v8 x" Q& S+ ^, R1 o; R2 {9 `0 C
问题描述:( Z9 u+ X- q& [3 p
Cookiec1=newCookie("cname","c1");
( w, _- \5 L, f, Ic1.setPath("/MyApp");
9 q1 z3 Z; G' V) E' n9 g$ j1 q& O9 R9 Rc1.setMaxAge(Integer.MAX_VALUE);
* }3 r: T' E8 D+ h) \response.addCookie(c1);- u( [! ?; E* R# O3 w2 a
Cookiec2=newCookie("cname","c2"); }& _. q) I& c
c2.setPath("/MyApp/servlet");
" I( B8 J! j* ?# e& E1 z/ xc2.setMaxAge(Integer.MAX_VALUE);( n# P; A. ^! S7 a7 x
response.addCookie(c2);
) ^" ~5 @( B) ^+ n" m) D
$ m1 W4 e! H* p6 x+ b# F6 Q% b3 E) ~* _7 u! K
以上代码表明向客户端写了2个重名的Cookie,但path属性不一样。
) i- O+ k+ n4 V& }! m* K3 L请问浏览器将带哪个Cookie给服务器?
: D7 a4 H; a$ Q3 U1 s# {答:这个必须根据客户端访问的服务器资源的路径来决定。
* d# E7 o) l m2 a$ ]7 i如果用户访问的某个资源的路径为/MyApp/servlet/SomeServlet,
8 d. l+ `' e* P* Q2 @9 C那么这2个cookie浏览器都会带给服务器;如果用户访问的资源的路径为/Myapp/1.jsp," x: o8 f- |5 S' {8 p* j
那么浏览器只会带第1个cookie过来。
- f/ n. m" ?4 r3 r8 p% F' h1 s2 J4 i& c0 [4 t& h; H- G
|
|