每当我从 Android 设备点击登录页面时,都必须创建并维护一个会话,直到用户点击注销按钮。但是 IBM Websphere 服务器似乎存在一个奇怪的问题。我能够成功登录,但是当我尝试请求一些其他数据,但会话从服务器丢失,在 Apache TomCat 上运行的服务器并非如此。在 iOS 设备中也工作正常!
例子 :
1.用户登录->为该用户创建一个会话
2. Android App以1秒的间隔连续命中服务器
3.用户注销->用户注销成功
在 Apache TomCat 的情况下,此流程正常,但在步骤 2 的 Websphere 中,会话会丢失,因此用户甚至无法注销
可能是什么问题 ?服务器端有什么东西我可能会丢失吗?还是websphere有兼容性问题?
这个问题需要分两部分解决
-
安卓端
Android HttpPost 默认情况下不会发送必要的标头,因此我们需要显式添加标头,其中最重要的是 JSESSIONID,当您使用 Websphere 服务器处理 Android 会话管理时。您所要做的就是从服务器获取 JESSIONID响应并将其附加到您向服务器发出的任何进一步请求。
-
网络圈
Websphere需要设置重要的属性,可以通过以下步骤来实现:
A。打开管理控制台。
b.选择服务器 > 应用程序服务器 > Server_Name > 服务器
基础结构 > Java 和进程管理 > 进程定义 > Java 虚拟机 > 自定义属性 > 新建。
C。为 JVM 添加一个新的自定义属性以重用 sessionId:
系统属性名称:HttpSessionIdReuse 系统属性值:true
d.保存更改并重新启动应用程序服务器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)