每当我从android设备访问登录页面时,都必须创建并维护会话,直到用户单击注销按钮。.但是,IBM Websphere Servers似乎存在一个奇怪的问题..我能够成功登录,但是当我尝试请求会话从服务器上丢失的其他数据,但在Apache TomCat上运行服务器的服务器则不是这种情况,在iOS设备中也能正常工作!
示例:1.用户登录->为此用户创建会话2. Android应用以1秒的间隔连续命中服务器3.用户注销->用户已成功注销
在Apache TomCat的情况下,此流程是正确的,但在步骤2的Websphere的情况下。该会话已丢失,因此用户甚至无法注销
可能是什么问题 ?在服务器端我可能缺少什么?还是websphere有兼容性问题?
这个问题需要分两部分解决
默认情况下,Android HttpPost不会发送必要的标头,因此我们需要显式添加标头,当您使用Websphere Servers处理android的会话管理时,最重要的是JSESSIONID。您要做的就是从Server获取JESSIONID响应并将其附加到您对服务器提出的任何其他请求。
Websphere需要设置为重要属性,可以通过以下步骤实现:
一个。打开管理控制台。
b。选择服务器>应用程序服务器> Server_Name>服务器基础结构> Java和进程管理>进程定义> Java虚拟机>定制属性>新建。
C。为JVM添加新的自定义属性以重用sessionId:系统属性名称:HttpSessionIdReuse系统属性值:true
d。保存所做的更改,然后重新启动Application Server。