TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
关于Cookie的路径及Cookie的获取问题?
& o- P5 J8 V( h% d- Q! D5 B
) U9 S" a' M! t/ D) F u问题描述:: Y, Y* ^; [6 B" }- d" D1 I
Cookiec1=newCookie("cname","c1");
6 S: |0 h! e0 j- _$ N- L9 ^' cc1.setPath("/MyApp");
- N9 y. H( U7 j- Ic1.setMaxAge(Integer.MAX_VALUE);
9 p7 A. i& [' \4 Sresponse.addCookie(c1);" ?' X$ `# g8 |- e7 A
Cookiec2=newCookie("cname","c2");7 ^9 C, e# L5 u5 P8 Z
c2.setPath("/MyApp/servlet");
6 r4 H& ?! b# M' H: o1 c7 U {* f# ~c2.setMaxAge(Integer.MAX_VALUE);
% ]3 x. K; a, F6 k$ x y$ kresponse.addCookie(c2);
, T4 z' P0 Z1 F- G1 x4 l$ j4 P2 `) J# n7 q% o% v
/ D9 S9 E% Z5 O8 w2 {' D6 [以上代码表明向客户端写了2个重名的Cookie,但path属性不一样。
# P, k0 p. |& }0 f' T U请问浏览器将带哪个Cookie给服务器?, j! k. S2 N: G4 v- l+ ?% J
答:这个必须根据客户端访问的服务器资源的路径来决定。
' w7 Q. o4 E0 ]$ Y; R; h! m如果用户访问的某个资源的路径为/MyApp/servlet/SomeServlet,
6 i3 l9 p4 \% k8 Z8 N( h那么这2个cookie浏览器都会带给服务器;如果用户访问的资源的路径为/Myapp/1.jsp,& V( Z) l+ w$ S" ^' b- y
那么浏览器只会带第1个cookie过来。
( f" [# U2 j8 v& {6 ?; `" a& U `% p; ]' `; G
|
|