目錄
1 產(chǎn)生問題的配置
2 產(chǎn)生問題的原因
3 解決辦法
(1)相關參數(shù)的解釋
(2)解決辦法一
(3)解決辦法二
(4)解決辦法三
4 參考資料
<session-param>
<param-name>CookieName</param-name>
<param-value>TestSessionID</param-value>
</session-param>
我們發(fā)現(xiàn)如果兩個web應用都使用同樣這個參數(shù),互相訪問就會有session被覆蓋的問題
假如有倆個應用app1,app2同時部署在同一個域domain1中的同一個集群中或則會同一個server中,客戶端在訪問app1時,這個server會在該客戶端保留一個名為 JSessionID的Cookie,記錄了app1的信息,JSessionID為Weblogic cookie-name的默認值,當同一個客戶端訪問app2時,該客戶端Cookie中JSessionID的值被app2刷新,此時如果在之前已經(jīng)打開的IE中繼續(xù)訪問app1會發(fā)現(xiàn)Session丟失(JSessionID已經(jīng)被server刷新!)。倆個cookies的名字相同,造成了訪問后一個應用覆蓋了前一個應用的cookies,因此,倆個應用部署在同一個server中會出現(xiàn)session被覆蓋的問題。
補充一點,如果這倆個應用部署在倆個域中的相同server中,也會出現(xiàn)上述問題。原因與上面相似。
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. |
修改各自應用的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>
訪問App1時用IP來訪問,訪問App2時用域名來訪問。
不要使用CookieName參數(shù),默認的cookies名字即為JSESSIONID,因為倆個應用的JSESSIONID肯定是不同的。
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)友會為你解答?。?點擊進入論壇