我们正在开发旅行应用程序。通过这个航班,可以预订酒店、巴士票。它是基于产品的应用程序。我们有近 25 个客户(3 个客户正在使用,其余仍在开发中)。我们为所有客户维护一台服务器。一台服务器(应用程序)多个客户端是我的应用程序中的伟大成就。但问题是每个客户都有不同的支付网关用于转账,如 EBS、HDFC、ICICI、ATOM 等。我们必须使用 sendRedriect() 来调用他们的支付网关系统。
response.sendRedirect("hdfc link....");
在重定向之前,我们在会话范围内存储了近 7-9 个对象,每个对象将包含近 35-50 个变量。
支付网关流程完成后,将重定向到我的应用程序。当我尝试获取会话时
request.getSession();
它有时会创建新会话(十分之五)。
存储在请求范围中的变量对我来说至关重要。我无法将其存储到数据库中,因为它们非常巨大。对于每个请求,我们都会生成长度为 25 的随机数。会话变量将通过该随机数进行存储。
session.setAttribute("flightStatus"+randomNumber, flightstatus object);
因此,请建议如何恢复以前的会话,以及为什么以前的会话无效并且正在创建新会话。
我认为你应该使用 request.getSession(false) 。如果您不想获得新会话。
阅读此文档:request.getSession(假) http://docs.oracle.com/javaee/1.4/api/javax/servlet/http/HttpServletRequest.html#getSession%28boolean%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)