您现在的位置: 365建站网 > 365学习 > 关于多个应用在同一个server中部署时出现cookies被覆盖的解决方案

关于多个应用在同一个server中部署时出现cookies被覆盖的解决方案

文章来源:365jz.com     点击数:168    更新时间:2009-09-17 10:24   参与评论

目录

1 产生问题的配置... 2

2 产生问题的原因... 2

3 解决办法... 2

1)相关参数的解释... 2

2)解决办法一... 3

3)解决办法二... 3

4)解决办法三... 3

4 参考资料... 4 

 

1 产生问题的配置

<session-param>

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

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

   </session-param>
我们发现如果两个web应用都使用同样这个参数,互相访问就会有session被覆盖的问题

2 产生问题的原因

假如有俩个应用app1,app2同时部署在同一个域domain1中的同一个集群中或则会同一个server中,客户端在访问app1时,这个server会在该客户端保留一个名为 JSessionIDCookie,记录了app1的信息,JSessionIDWeblogic cookie-name的默认值,当同一个客户端访问app2时,该客户端CookieJSessionID的值被app2刷新,此时如果在之前已经打开的IE中继续访问app1会发现Session丢失(JSessionID已经被server刷新!)。俩个cookies的名字相同,造成了访问后一个应用覆盖了前一个应用的cookies,因此,俩个应用部署在同一个server中会出现session被覆盖的问题。

 

补充一点,如果这俩个应用部署在俩个域中的相同server中,也会出现上述问题。原因与上面相似。

3 解决办法

1)相关参数的解释

    

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参数,默认的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

 

作者:小陈,新进入我的团队,基本功扎实,善于学习。以极大的热情开始自己的新工作。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (168人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------