无法在 gwt 中检索会话属性
Posted
技术标签:
【中文标题】无法在 gwt 中检索会话属性【英文标题】:not able to retrieve session attributes in gwt 【发布时间】:2014-02-01 17:18:59 【问题描述】:我是 gwt 的新手。
我正在尝试设置和获取 http sessionattributes,但无法检索
我的应用程序中有三个页面。 page1 用于登录。当用户输入用户名和密码时,我将使用 HttpSession session = this.getThreadLocalRequest().getSession() 并在 servlet 中设置它们的会话属性。同时,我将向 page2 验证用户身份。 在 page2 中,我需要相同的用户名和密码来验证用户到 page3,当我使用 HttpSession session = this.getThreadLocalRequest().getSession() 获得会话时,我得到一个新会话,当我调用 session.getAttributes("username ") 和 session.getAttributes("password"),我只得到空值。
如果 HttpSession 会话必须作为 servlet 的实例变量或我缺少的任何东西,请告诉我
【问题讨论】:
您在使用 App Engine 吗? 【参考方案1】:登录页面 1(我不明白为什么您有页面 2)如果成功验证,则需要使用您的会话 ID 创建一个 cookie 集,然后重定向到下一页并使用 XSRF 令牌在服务器上验证此下一页请求包含会话 ID - 请参阅 this SO 了解配方。
【讨论】:
【参考方案2】:非常感谢您提供的链接。很有用。
但是我的问题现在已经解决了。将 getsession 参数设置为“false”就可以了 :) 以前我没有任何参数,因此分配了默认参数“true”。
回答我的问题:
// 不创建新的 -> false
HttpSession 会话 = request.getSession(false);
// 创建新会话
HttpSession 会话 = request.getSession(true);
【讨论】:
以上是关于无法在 gwt 中检索会话属性的主要内容,如果未能解决你的问题,请参考以下文章
检索 ArrayList 时出现 GWT-RPC 无法解释的 500 状态错误