【发布时间】:2013-10-18 04:29:27
【问题描述】:
我有一个包含标题和主要部分的网页。标题和主要部分都对我的服务器上运行的一个特定 Java API 进行相同的调用。第一个调用应建立一个会话并在会话中设置一个标志,以防止第二个调用继续进行,直到第一个调用完成(例如其阻塞)。
当前发生的情况是标头通常首先进行调用,建立会话并设置标志。然后,主要部分进行调用;但是,由于某种原因,它正在建立一个全新的会话,因此它永远不会看到标志,并且两个调用都连续运行。这个连续运行的进程会导致底层数据库出现问题,这是一个单独的问题。
所以我的问题是,为什么要建立两个单独的会话?为什么第二个呼叫不能识别第一个会话并使用它?
【问题讨论】:
-
以下帖子中的问题似乎暗示了我正在经历的行为...stackoverflow.com/questions/2488720/…
-
看起来很可能。如果浏览器并行发送两个请求,那么每个请求都会获得一个新会话,因为直到带有 cookie 的响应返回给浏览器,浏览器都不知道任何一个会话。
-
这是我的怀疑,马克,所以我想我只是在寻找确认。谢谢!
-
那里有非常奇特的网页。不明白为什么会有这样的设计,听起来像是在自找麻烦。
-
客户端有两个 javascript(或其他东西)必须因此调用您的 API,这是否正确?还是在同一请求中的服务器端进行调用?
标签: java session tomcat jsessionid