
2007年10月30日
正常的cookie只能在一個(gè)應(yīng)用中共享,即一個(gè)cookie只能由創(chuàng)建它的應(yīng)用獲得。
1.可在同一應(yīng)用服務(wù)器內(nèi)共享方法:設(shè)置cookie.setPath("/");
本機(jī)tomcat/webapp下面有兩個(gè)應(yīng)用:cas和webapp_b,
1)原來在cas下面設(shè)置的cookie,在webapp_b下面獲取不到,path默認(rèn)是產(chǎn)生cookie的應(yīng)用的路徑。
2)若在cas下面設(shè)置cookie的時(shí)候,增加一條cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面獲取到cas設(shè)置的cookie了。
3)此處的參數(shù),是相對于應(yīng)用服務(wù)器存放應(yīng)用的文件夾的根目錄而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夾下的所有應(yīng)用共享cookie,而cookie.setPath("/webapp_b/");是指cas應(yīng)用設(shè)置的cookie只能在webapp_b應(yīng)用下的獲得,即便是產(chǎn)生這個(gè)cookie的cas應(yīng)用也不可以。
4)設(shè)置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的時(shí)候,只有在webapp_b/jsp下面可以獲得cookie,在webapp_b下面但是在jsp文件夾外的都不能獲得cookie。
5)設(shè)置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,這樣就不可以在產(chǎn)生cookie的應(yīng)用cas下面獲取cookie了
6)有多條cookie.setPath("XXX");語句的時(shí)候,起作用的以最后一條為準(zhǔn)。
6)設(shè)置多個(gè)path的方法???
2.跨域共享cookie的方法:設(shè)置cookie.setDomain(".jszx.com");
A機(jī)所在的域:home.langchao.com,A有應(yīng)用cas
B機(jī)所在的域:jszx.com,B有應(yīng)用webapp_b
1)在cas下面設(shè)置cookie的時(shí)候,增加cookie.setDomain(".jszx.com");,這樣在webapp_b下面就可以取到cookie。
2)這個(gè)參數(shù)必須以“.”開始。
3)輸入url訪問webapp_b的時(shí)候,必須輸入域名才能解析。比如說在A機(jī)器輸入:http://lc-bsp.jszx.com:8080/webapp_b,可以獲取cas在客戶端設(shè)置的cookie,而B機(jī)器訪問本機(jī)的應(yīng)用,輸入:http://localhost:8080/webapp_b則不可以獲得cookie。
4)設(shè)置了cookie.setDomain(".jszx.com");,還可以在默認(rèn)的home.langchao.com下面共享。
5)設(shè)置多個(gè)域的方法???
最近的工作經(jīng)常用到cookie,看了一些資料,雖然原來依賴cookie比較多的方案已經(jīng)改成現(xiàn)在這個(gè)了,但是當(dāng)時(shí)看得一些東西還是最好記下來,免得過些天就一干二凈了,怪可惜的。老梁說過這樣的文字最好不要是純文本的,說得是。本來就已經(jīng)很抽象了,最好弄點(diǎn)圖表,就算用123列出來也好
posted @
2007-10-30 09:10 Dragonofson 閱讀(9317) |
評論 (5) |
編輯 收藏