我可以在当前servlet/jsp之前2步检索servlet存储的会话变量吗?



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

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

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

如果以这种方式存储的会话变量不能获得,那么我如何获得这些变量(即请建议替代方法)....

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

顺便说一句:如果你的会话是由cookie维护的,这将完美地工作。如果你使用URL重写,它取决于Windows Live API,在这种情况下,Windows Live必须在重定向回你的应用程序的查询字符串中包含会话ID参数。

您必须确保会话cookie或URL重写工作。然后应该保留会话

最新更新