黑马程序员技术交流社区
标题:
【太原中心】cookie共享
[打印本页]
作者:
王高飞
时间:
2019-5-7 14:47
标题:
【太原中心】cookie共享
本帖最后由 王高飞 于 2019-5-7 15:06 编辑
一、在同一应用服务器内共享方法:
设置cookie.setPath("/");
场景如下:
假设tomcat/webapp下有两个应用:web_a和web_b。
1、原来在web_a下面设置的cookie,在web_b下是获取不到的,path默认是产生cookie的应用的路径web_a。
2、若在web_a下面设置cookie时,增加一条cookie.setPath("/")或者cookie.setPath("/web_b/"),这样就可以在web_b下面获取到web_a应用中设置的cookie了。
3、此处的参数是相对于应用服务器存放应用的文件夹的根目录而言的,如tomcat下面的webapp,因此cookie.setPath("/")之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/web_b/")是指cookie只能在web_b应用下的获得,即便是产生这个cookie的web_a应用也不可以获得此cookie。
4、设置cookie.setPath("/web_b/jsp")或者cookie.setPath("/web_b/jsp/")的时候,只有在web_b/jsp下面可以获得cookie,在web_b下面但是在jsp文件夹外的都不能获得cookie。
6 有多条cookie.setPath("XXX");语句的时候,起作用的是最后一条。
二、跨域共享cookie的方法:
设置cookie.setDomain(".aabb.com");
场景如下:
A机所在的域:home.abc.com,A有应用web_a
B机所在的域:map.aabb.com,B有应用web_b
1 在web_a下面设置cookie的时候,增加cookie.setDomain(".aabb.com");这样在web_b下面就可以取到cookie。
2 注意这个参数必须以“.”开始。
3 输入url访问web_b的时候,必须输入域名才能解析。
例如在A机器输入:
http://map.aabb.com:8080/web_b
,可以获取web_a在客户端设置的cookie,
而B机器访问本机的应用,输入:http://localhost:8080/web_b则不可以获得cookie。
4 注意设置了cookie.setDomain(".aabb.com");,还可以在默认的home.abc.com下面共享。
作者:
Vicky韦
时间:
2019-5-7 15:16
作者:
liudongjie
时间:
2019-5-7 15:17
作者:
张志辉
时间:
2019-5-7 15:18
{:7_359:
作者:
cuichang1
时间:
2019-5-7 15:31
赞
作者:
郝永亮
时间:
2019-6-4 16:50
学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2