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

时间:2011-07-31 13:13:59

标签: jsp session servlets

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您必须确保会话cookie或URL重写有效。届时应该保留会议。