TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
关于Cookie的路径及Cookie的获取问题?5 d: D, x" l- ?/ }7 z
# \6 {+ V6 D6 d* l$ g8 q问题描述:% l( w u% k0 V# t+ z1 R
Cookiec1=newCookie("cname","c1");
$ Y# c+ p- K1 g7 u! X9 dc1.setPath("/MyApp");# l/ }% K) o* F* W1 W4 X: {8 }7 o7 r
c1.setMaxAge(Integer.MAX_VALUE);
+ K# ^( H- w) {9 A3 k' ~: ]- ]response.addCookie(c1);1 M! n" w1 `" x+ ]; I0 s4 C& K
Cookiec2=newCookie("cname","c2");
" H& P$ }8 u. i& R1 u2 \6 ~! O! d7 mc2.setPath("/MyApp/servlet");) b, ]6 u) d) ]! A! ?
c2.setMaxAge(Integer.MAX_VALUE);
" v3 V8 a7 S8 T( h( D% |( sresponse.addCookie(c2); g; D4 \ P' i. Y/ q8 O
. D% D' S: _2 C( ^7 e* s# |& Y/ E0 r0 O( W
以上代码表明向客户端写了2个重名的Cookie,但path属性不一样。9 c& A; ?! X3 G& `6 `& @
请问浏览器将带哪个Cookie给服务器?$ ]1 j& S& n# z( G2 p5 c3 y
答:这个必须根据客户端访问的服务器资源的路径来决定。
+ }0 @1 h, s% G& e5 T如果用户访问的某个资源的路径为/MyApp/servlet/SomeServlet,' t" b7 b$ ~1 V$ i2 u# p/ e" Y
那么这2个cookie浏览器都会带给服务器;如果用户访问的资源的路径为/Myapp/1.jsp," H( O- I) y$ U& _- h
那么浏览器只会带第1个cookie过来。) p: s+ g2 O& \! j' }- p
( y# w9 Y/ i& ~" f6 ?5 k |
|