在同一个weblogic下创建了两个domain,部署了两个系统A和B。其中系统A有一个按钮可打开系统B,并自动登录。通过A系统打开B系统后session会发生无规律丢失的情况。通过在网上查资料,发现可能是sessionid在影响。你登录第一个web时默认使用jsessionid来记录session id,放在cookie或者url后面,登录第二个时还是默认使用的jsessionid,这样第二个会覆盖第一个jsessionid,所以表现为session丢失了。解决方法如下:
两个web使用不同的sessionid来标识,如第一个web使用jsessionid1,第二个web使用 jsessionid2就可以了。 直接在每个web程序下配置weblogic.xml
<session-descriptor>
<session-param>
<param-name>CookieName</param-name>
<param-value>JSESSIONID1</param-value>
</session-param>
</session-descriptor>
即将第一个web app的session id标识改为jsessionid1,同理将第二个改为jsessionid2 ,这样就可以避免Session丢失了。