与gwt请求工厂的会话上下文

时间:2013-06-02 19:20:09

标签: java session gwt rpc requestfactory

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

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

我的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;
}

1 个答案:

答案 0 :(得分:2)

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()