TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
关于Cookie的路径及Cookie的获取问题?, T+ E6 r- @* K/ Q
+ h: b- E$ N. N" G
问题描述:, R# Q7 Z. @" @* @: d# v1 P6 }
Cookiec1=newCookie("cname","c1"); n) n; m* V. B4 \# U
c1.setPath("/MyApp");2 D$ u- C; h' t! A3 E
c1.setMaxAge(Integer.MAX_VALUE);
9 n( U& l+ d; ?' G& K3 fresponse.addCookie(c1);
! S \/ I( X8 J) c6 [% I7 C- vCookiec2=newCookie("cname","c2");2 j3 u. w. G: I% n0 n* @+ _
c2.setPath("/MyApp/servlet");6 p) l4 C) y5 t) `0 w# x
c2.setMaxAge(Integer.MAX_VALUE);' l* K( v( F* ?* r9 Y, n+ _4 ]
response.addCookie(c2);
1 D' c0 {/ ]6 v# L1 O/ z% [/ u
4 M! o* ?. g' {3 \
以上代码表明向客户端写了2个重名的Cookie,但path属性不一样。
9 D& ^0 C6 q, }6 h) c; ?请问浏览器将带哪个Cookie给服务器? o' m2 C: y$ l2 E( E$ Z
答:这个必须根据客户端访问的服务器资源的路径来决定。! r3 G0 U! A5 B2 }* b
如果用户访问的某个资源的路径为/MyApp/servlet/SomeServlet,
4 V3 c. n) e+ A( M# k, q* I那么这2个cookie浏览器都会带给服务器;如果用户访问的资源的路径为/Myapp/1.jsp,1 _+ Y% U* ^% ^6 O, P, v; r4 n
那么浏览器只会带第1个cookie过来。
" f9 ^1 x( {" u
+ q/ l% _$ y4 ]' E1 F7 ~$ Q' b# W: C0 B |
|