jsp- session -how使用旧会话(如果存在)但不创建新会话

时间:2012-11-14 10:38:16

标签: jsp

我倾向于jsp中的会话。

我有一个发送登录并传递给servlet的应用程序。 如果它们正确,则servlet创建一个新会话并将page.jsp发送给客户端。 页面检查是否存在任何会话,如果不是,则不创建新会话并阻止用户。

我希望阻止在有任何会话时访问此页面的可能性, 但如果我使用:

<%@ page session=false %@>

我将无法访问旧会话 (如果她存在的话)。 如何强制jsp连接到旧会话但不创建新会话?

如果我想念一些事情,我将非常感激:

  • 最佳做法
  • 链接,解释等
  • 任何建议:)

1 个答案:

答案 0 :(得分:1)

您无法创建会话。您只能获取会话,这将返回先前创建的会话(如果存在),或创建一个并返回它(如果尚未存在会话)。

即使是非登录用户也可以进行会话。实际上,如果他们浏览到没有session=false的JSP,他们默认会有一个。认证应该简单地得到 会话,并在会话中存储一些authenticated标记(或userId标记)。

如果您不希望经过身份验证的用户转到登录页面,那么当他们转到此页面时,请检查会话中是否已存在userId令牌,并重定向到其他页面。