cookie.setPath()的用法

cookie.setPath()的用法

正常的cookie只能在一個應用中共享,即一個cookie只能由創建它的應用獲得。
1.可在同一應用服務器內共享方法:設置cookie.setPath("/");
   
本機tomcat/webapp下面有兩個應用:cas和webapp_b,
   
1)原來在cas下面設置的cookie,在webapp_b下面獲取不到,path默認是產生cookie的應用的路徑。
   
2)若在cas下面設置cookie的時候,增加一條cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面獲取到cas設置的cookie了。
   
3)此處的參數,是相對於應用服務器存放應用的文件夾的根目錄而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之後,可以在webapp文件夾下的所有應用共享cookie,而cookie.setPath("/webapp_b/");是指cas應用設置的cookie只能在webapp_b應用下的獲得,即便是產生這個cookie的cas應用也不可以。
   
4)設置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的時候,只有在webapp_b/jsp下面可以獲得cookie,在webapp_b下面但是在jsp文件夾外的都不能獲得cookie。
   
5)設置cookie.setPath("/webapp_b");,是指在webapp_b下面纔可以使用cookie,這樣就不可以在產生cookie的應用cas下面獲取cookie了
   
6)有多條cookie.setPath("XXX");語句的時候,起作用的以最後一條爲準。
   
6)設置多個path的方法???

2.跨域共享cookie的方法:設置cookie.setDomain(".jszx.com");
   
A機所在的域:home.langchao.com,A有應用cas
   
B機所在的域:jszx.com,B有應用webapp_b
   
1)在cas下面設置cookie的時候,增加cookie.setDomain(".jszx.com");,這樣在webapp_b下面就可以取到cookie。
   
2)這個參數必須以“.”開始。
   
3)輸入url訪問webapp_b的時候,必須輸入域名才能解析。比如說在A機器輸入:http://lc-bsp.jszx.com:8080/webapp_b,可以獲取cas在客戶端設置的cookie,而B機器訪問本機的應用,輸入:http://localhost:8080/webapp_b則不可以獲得cookie。
   
4)設置了cookie.setDomain(".jszx.com");,還可以在默認的home.langchao.com下面共享


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章