0

当 Web 应用程序中的会话无效时,如果我向该应用程序发出一个新请求,其 cookie 中的 jsessionid 无效,那么新会话的 id 是什么?当我检查时,会生成一个新会话,但会话 ID 保持不变。我无法对此作出解释。是否有这样的约定将 jsessionid 保留在 cookie 中并将该值赋予新创建的会话,或者我做错了什么?:)

情景。

我在同一个 weblogic 上有 2 个 webapps。这些应用程序的 WLCookie 名称相同。

当用户进入 appA 时,我正在对 appB 的注销 servlet 进行异步调用,其中 appB 的会话无效。

当用户单击 appA 中引用 appB 的链接时,我正在 appB 中创建一个新会话,当我检查 cookie 中的 sessionid 时,它仍然保持不变,它首先在 appA 中创建。

据我所知,如果未配置,同一 weblogic 上的两个 webapps 不会共享它们的会话,但是尽管我从外部使 appB 的会话无效,为什么新创建的会话仍然具有相同的会话 ID?

谢谢。

4

1 回答 1

0

不要将 jsessionid 与会话混淆。jsessionid 每个容器实例都是唯一的,其中 session 是每个应用程序。因此,会话数据不会从 AppA 传播到 AppB,因为它们共享相同的 jsessionid。

于 2013-04-02T19:09:52.393 回答