【问题标题】:can i retrieve session variables stored by a servlet 2steps before the current servlet/jsp?我可以在当前 servlet/jsp 之前 2steps 检索 servlet 存储的会话变量吗?
【发布时间】:2011-07-31 13:13:59
【问题描述】:

我正在尝试检索由 servlet 存储的会话变量。在应用程序中,servlet 将用户重定向到外部身份验证 url(例如 Windows Live auth)...在重定向之前,servlet 将一些值保存为会话变量。

在用户通过外部身份验证 url 进行身份验证后,现在他被重定向到我的应用程序的第二页。这第二个页面可以是 jsp 或 servlet..

我的问题是,是否可以在第二页中检索原始 servlet 最初存储的会话变量?无论第二页是jsp还是servlet,我都能获得会话变量吗?

如果无法获取以这种方式存储的会话变量,那么如何获取这些变量(即请提出替代方法)....

【问题讨论】:

  • 顺便说一句:似乎和这个问题一样:stackoverflow.com/questions/6841838/…?
  • 是的,也许我可以提出当前问题作为对该问题的评论 - 这两个问题是相关的并且属于同一个应用程序...... :(

标签: jsp session servlets


【解决方案1】:

是的,如果发出会话变量的 servlet(如果是这种情况,我不清楚)在同一个 Web 应用程序 (WAR) 中,您可以通过调用 HttpServletRequest.getSession().getAttribute("someName"); 简单地检索会话范围变量。这适用于 servlet 和 JSP。

顺便说一句:如果您的会话由 cookie 维护,这将非常有效。如果您使用 URL 重写,它取决于 Windows Live API,在这种情况下,Windows Live 必须在重定向回您的应用的查询字符串中包含会话 ID 参数。

【讨论】:

    【解决方案2】:

    您必须确保会话 cookie 或 URL 重写工作正常。那么会话应该被保留。

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 2011-02-27
      • 1970-01-01
      • 2014-08-19
      • 1970-01-01
      相关资源
      最近更新 更多