jsp - request.getSession() 在 sendRedirect() 之后创建新 session

标签 jsp session jakarta-ee servlets struts2

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

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

在重定向之前,我们在 session 范围内存储了近 7-9 个对象,每个对象将包含近 35-50 个变量。 支付网关流程完成后,将被重定向到我的应用程序。当我尝试获取 session 时

request.getSession();

它在某些时候创建新 session (10 次中有 5 次)。

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

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

所以请建议如何取回上一个 session ,以及为什么上一个 session 无效并创建新 session 。

最佳答案

我认为您应该使用 request.getSession(false) 。如果您不想获得新 session 。

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

关于jsp - request.getSession() 在 sendRedirect() 之后创建新 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11201081/

相关文章:

java - 终极Java版本表(J2EE、Java EE、Servlet、JSP、JSTL)

java - 如何从 JSP 运行 Hadoop 命令

android - 使用 Android 登录时未设置 Passport.js session

javascript - if语句中的Ejs无法读取未定义的属性 ' foo '

jakarta-ee - 为什么在生成 ear 文件时使用父 pom 文件?

java - Java中如何在集群之间安全地共享信息?

java - 运行 EJB 示例项目时出现错误 500 : java. lang.NullPointerException

jsp - 提交Struts 2表单而不改变页面?

python - 如果我想使用 CGI session ,我应该在 Python 中考虑哪些模块?

java - 预测 Java 内存