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

目录

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值