在部署多个应用时,可能会部署在同一个server下,只是上下文根路径不同,这样会导致每个应用的sessionID是相同的,如下图所示:

分别访问,会发现sessionID相同。
我部署的这两个项目很简单,index.jsp里只是简单获取sessionID
request.getSession().getId();
访问时只是路径不同,端口号相同,如下图:

为了使这两个应用的session不冲突,修改步骤如下:
1、登录WAS的控制台→应用程序→应用程序类型→WebSphere 企业应用程序,点击应用名称的链接。
2、点击会话管理超链接

3、选中覆盖会话管理、选中启用cookie

保存配置,然后再点击“启用cookie”这个链接,如下图:

因为我们上下文根一个是sesa,一个是sesb,所以cookie路径选择“使用上下文根”即可。
4、保存配置后,记得在控制台重启应用。
重新刷新页面,会发现sessionID不同了~

本文介绍如何在WebSphere环境中避免部署在同一服务器的不同应用之间的Session ID冲突问题。通过详细步骤指导用户如何设置会话管理及Cookie路径,确保各应用间的Session独立。
9466

被折叠的 条评论
为什么被折叠?



