2

大家好,我面临一个问题,我需要专家的建议。我的项目中有使用 webservice 的购物车模块。工作流程是

  1. 创建会话 ID。(我有一个 xml 输入,它返回一个长字符串作为会话 ID)
  2. 将产品添加到购物车(我使用上面的会话 ID 和产品唯一代码作为 xm 输入)
  3. 获取购物车(这里 xml 中的输入参数是 sessionid。意味着我将在该会话中获取列表产品)
  4. 从购物车中删除(这里的 xml 参数是会话 id 和产品唯一代码)

我所做的是在加载启动画面时,我编写了代码来生成会话 ID,并将其保存在列表的第一个位置以供以后使用。

    CartService cartService=new CartServiceImpl();
    SterviceResponse ob = cartService.createPartnerSession();
    Session session = new Session();
    session.setSessionId(ob.getStringValue());

Session.getSessionId() 将返回会话 ID 如果没有互联网问题,程序可以正常工作,但是如果我在程序之间关闭 wifi,程序会崩溃。现在我必须重新启动应用程序才能开始新会话。另外如果电话在特定时间段内空闲,我想使会话到期。

在程序中存储和处理会话 id 的最佳方式是什么?

4

1 回答 1

1

有几种方法可以做到这一点。1. 如果您使用的是 JSP,那么在页面显示后您可以使用 session.invalidate()。你的jsp中有这样的东西-

<%  
    session.invalidate();  
%>  
<h2>Session Destroyed successfully.. </h2>  
  1. 您可以在 web.xml 文件中设置会话超时
<session-config>
<session-timeout>1</session-timeout>
</session-config>
于 2012-09-24T18:37:40.190 回答