java - 带有 gwt 请求工厂的 session 上下文

标签 java session gwt rpc requestfactory

我在 GWT RPC Servlet 中有一个登录方法,它从 session 上下文中获取用户,从而确定用户是否登录。我想将此方法移植到请求工厂方法(以获取代理实体而不是 DTO)。

但是我可以把它放在哪里呢?我无法将其放置在实体中,因为我没有 session 上下文。这里正确的方法是什么?

我的 RPC 方法目前如下所示:

@Override
public UserDTO isLoggedIn() {
    // TODO Auto-generated method stub

    HttpSession session = getThreadLocalRequest().getSession();

    String userName = (String)session.getAttribute("userName");

    if(userName !=null){
        return new UserDTO(userName);
    }
    return null;
}

最佳答案

RequestFactory 还提供了访问请求和 servlet 上下文的方法

HttpSession session = com.google.web.bindery.requestfactory.server.RequestFactoryServlet.getThreadLocalRequest().getSession();

可以在此处找到文档:

http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.html#getThreadLocalRequest()

关于java - 带有 gwt 请求工厂的 session 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16886378/

相关文章:

java - 如何通知另一个线程

PHP session 超时回调?

c# - 为什么session返回null?

javascript - GWT JsType 数组转换

java - 使用引用调用交换两个数字

java - Jasper 报告的附加页面

java - 使用 getActionCommand 的 setText 问题

php - 如何使用子域和 AJAX 使 PHP session 工作?

css - 删除 GWT 树的根项旁边的 +(加号)

java - 预览文本区域中的内容