2012-09-24 53 views
2

大家好,我现在面临一个问题,我需要专家的建议。 有在我的项目购物车模块使用web服务.The工作流程如何处理会话?我们什么时候创建会话ID

  1. 创建会话ID。(我有一个XML输入返回了很长的字符串作为会话ID)
  2. 产品添加到购物车(在这里我使用上面的会话ID和产品唯一编码作为XM输入)
  3. 获取购物车(在这里,在XML输入参数是sessionid.Means我会得到在会议列表中的产品)
  4. 从购物车中删除(这里的xml参数是会话ID和产品唯一代码)

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

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

Session.getSessionId()将返回我的会话ID 程序工作正常,如果没有互联网的问题,但如果我在程序之间切换,关闭WiFi将crash.Now我将不得不重新启动应用程序开始一个新的会话。如果手机在特定的时间段内处于闲置状态,我还想过期会话。

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

+0

这是一个Android的问题吗? – Ridcully

+0

不幸的是,我不得不在我的项目中处理会话 – playmaker420

回答

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>