五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 關于多個應用在同一個server中部署時出現(xiàn)cookies被覆蓋的解決方案

關于多個應用在同一個server中部署時出現(xiàn)cookies被覆蓋的解決方案

文章來源:365jz.com     點擊數(shù):255    更新時間:2009-09-17 10:24   參與評論

目錄

1 產(chǎn)生問題的配置... 2

2 產(chǎn)生問題的原因... 2

3 解決辦法... 2

1)相關參數(shù)的解釋... 2

2)解決辦法一... 3

3)解決辦法二... 3

4)解決辦法三... 3

4 參考資料... 4 

 

1 產(chǎn)生問題的配置

<session-param>

     <param-name>CookieName</param-name>

     <param-value>TestSessionID</param-value>

   </session-param>
我們發(fā)現(xiàn)如果兩個web應用都使用同樣這個參數(shù),互相訪問就會有session被覆蓋的問題

2 產(chǎn)生問題的原因

假如有倆個應用app1,app2同時部署在同一個域domain1中的同一個集群中或則會同一個server中,客戶端在訪問app1時,這個server會在該客戶端保留一個名為 JSessionIDCookie,記錄了app1的信息,JSessionIDWeblogic cookie-name的默認值,當同一個客戶端訪問app2時,該客戶端CookieJSessionID的值被app2刷新,此時如果在之前已經(jīng)打開的IE中繼續(xù)訪問app1會發(fā)現(xiàn)Session丟失(JSessionID已經(jīng)被server刷新!)。倆個cookies的名字相同,造成了訪問后一個應用覆蓋了前一個應用的cookies,因此,倆個應用部署在同一個server中會出現(xiàn)session被覆蓋的問題。

 

補充一點,如果這倆個應用部署在倆個域中的相同server中,也會出現(xiàn)上述問題。原因與上面相似。

3 解決辦法

1)相關參數(shù)的解釋

    

CookieDomain

Null

Specifies the domain for which the cookie is valid. For example, setting CookieDomain to .mydomain.com returns cookies to any server in the *.mydomain.com domain.

The domain name must have at least two components. Setting a name to *.com or *.net is not valid.

If unset, this parameter defaults to the server that issued the cookie.

For more information, see Cookie.setDomain() in the Servlet specification from Sun Microsystems.

CookieName

JSESSIONID

Defines the session cookie name. Defaults to JSESSIONID if unset. You may set this to a more specific name for your application.

 

2)解決辦法一

修改各自應用的weblogic.xml,使cookies文件的名字不同

例如:

App1中的weblogic.xml文件修改為

<session-descriptor>
 <session-param>
 <param-name>CookieName</param-name>
 <param-value>myCookie1</param-value>
 </session-param>
 </session-descriptor>

 

App2中的weblogic.xml文件修改為

<session-descriptor>
 <session-param>
 <param-name>CookieName</param-name>
 <param-value>myCookie2</param-value>
 </session-param>
 </session-descriptor>

 

3)解決辦法二

訪問App1時用IP來訪問,訪問App2時用域名來訪問。

4)解決辦法三

不要使用CookieName參數(shù),默認的cookies名字即為JSESSIONID,因為倆個應用的JSESSIONID肯定是不同的。

4 參考資料

http://www.blogjava.net/mark1207/archive/2008/04/01/190134.html

http://download.oracle.com/docs/cd/E13222_01/wls/docs81b/webapp/index.html

http://download.oracle.com/docs/cd/E13222_01/wls/docs81b/webapp/weblogic_xml.html#1038491

 

作者:小陳,新進入我的團隊,基本功扎實,善于學習。以極大的熱情開始自己的新工作。

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答?。?點擊進入論壇

發(fā)表評論 (255人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學習

業(yè)務咨詢

· 技術支持
· 服務時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權所有 鄂ICP備17013400號