我可以从使用GWT创建的页面访问存储在会话中的数据(通过servlet先前)吗?

时间:2012-01-08 13:03:21

标签: java gwt

我有一个场景,我正在尝试使用标准servlet将用户登录到我的数据库...现在我要做的是,在登录后,GWT创建的网页应该打开,它应该显示已登录用户的电子邮件ID。

我认为我会将成功登录的用户重定向到servlet,该servlet会将用户的电子邮件ID和其他一些参数存储为会话变量。在此之后,启动时使用GWT创建的页面将从会话变量中读取用户的电子邮件ID ..

我对这种方法有几个问题......

一,它安全吗?有没有更好的方法可以建议您完成用户身份验证?

二,如何从使用GWT创建的网页访问会话变量?应该在此函数中访问此变量 -

public void onModuleLoad()

或者是要从网页中的其他位置访问的变量吗?

我正在使用Google App Engine for Java / GWT和Google Identity Toolkit(GIT)进行身份验证。

2 个答案:

答案 0 :(得分:2)

onModuleLoad()方法是用gwt编写的客户端应用程序的起点(基本上是javascript)

所以你问我如何在Javascript中从服务器读取值。

您可以在GWT情况下以多种方式完成此操作:

  • 进行GWT RPC调用并让服务器返回所需的数据
  • 使用动态页面嵌入数据并使用GWT Dictionary或Javascript Overlays
  • 进行读取

答案 1 :(得分:1)

会话变量与GWT无关,它们与JAVA有关。如果您想使用会话变量,则必须在 GWT 项目的服务器包中使用它们。

设置会话变量:

session.setAttribute("MySessionVariable", 3);

获取会话变量

int param = (Integer) session.getAttribute("MySessionVariable");