request.getSession()在sendRedirect()之后创建新会话

时间:2012-06-26 05:13:52

标签: jsp session java-ee servlets struts2

我们正在开发旅游应用程序。通过这次航班,预订酒店,巴士车票。它是基于产品的应用程序。我们几乎有25个客户(3个客户正在使用,剩余仍在开发中)。我们为所有客户维护一台服务器。一个服务器(应用程序)多个客户端是我的应用程序中的重大成就。但问题是每个客户都有不同的支付网关进行汇款,如EBS,HDFC,ICICI,ATOM等。我们必须使用sendRedriect()来呼叫他们的支付网关系统。

response.sendRedirect("hdfc link....");

在重定向之前,我们在会话范围内存储了近7-9个对象,每个对象将包含近35-50个变量。 完成支付网关进程后,将重定向到我的应用程序。当我试着参加会议时

request.getSession();

它创建了一段时间的新会话(10次中有5次)。

存储在请求范围内的变量对我来说至关重要。并且我无法将其存储到数据库中,因为它们非常庞大。对于每个请求,我们生成长度为25的随机数。使用该随机数存储会话变量。

session.setAttribute("flightStatus"+randomNumber, flightstatus object); 

因此,请建议如何取回上一个会话,以及为什么上一个会话无效并且新会话正在创建。

1 个答案:

答案 0 :(得分:2)

我认为你应该使用request.getSession(false)。如果你不想参加新会议。

阅读此文档:request.getSession(false)