有一个项目之前是运行在tomcat上的,后来因为需要移到weblogic,使用一段时间后用户反映weblogic版本的运行不稳定,测试时发现如果先登陆了tomcat版本的再登陆weblogic版本的就会在登陆页面不跳转,但是后台会提示登陆成功,查程序定位错误到session传值前后发生了改变:
response.sendRedirect("interface.jsp" );
所以就一直纠结在response、session缓存和服务器内存的问题上,在确定了这些都无误以后,发现原来是因为weblogic的session默认cookie名称为JSESSIONID,而tomcat的session默认cookie名称也为JSESSIONID,这里出现了冲突,所以只要修改weblogic的cookie值或者修改tomcat的cookie值这个问题就解决了~
1.修改weblogic的cookie值:
在WEB-INF/weblogic.xml文件中,<session-descriptor>标签内加入CookieName属性即可,如果没有<session-descriptor>,则直接在<weblogic-web-app>中加入即可:
<session-descriptor>
<session-param>
<param-name>CookieName</param-name>
<param-value>JSESSIONID1</param-value>
</session-param>
</session-descriptor>
2.修改tomcat的cookie值:
在server.xml文件中,<Host>标签内的<Context>标签内添加sessionCookieName="JSESSIONID2"