this.getThreadLocalRequest()在GWT中返回null

this.getThreadLocalRequest()在GWT中返回null,gwt,Gwt,在servlet中调用getThreadLocalRequest()方法(扩展了RemoteServiceServlet)时,我总是得到null 在其他地方打电话: IUPS_LpnRPCServiceAsync service = GWT.create(IUPS_LpnRPCService.class); service.getUserInfoFromHeader(new AsyncCallbackSupport<String>(false) { @Override

在servlet中调用
getThreadLocalRequest()
方法(扩展了
RemoteServiceServlet
)时,我总是得到null

在其他地方打电话:

IUPS_LpnRPCServiceAsync service = GWT.create(IUPS_LpnRPCService.class);

service.getUserInfoFromHeader(new AsyncCallbackSupport<String>(false) {

    @Override
    public void onSuccess(String remote_user) {             
        GWT.log("getting remote call");
        defaultMainScreen.setUsername(remote_user);
        GWT.log("remote_user = " + remote_user);
    }       
});
IUPS\u LpnRPCServiceAsync service=GWT.create(IUPS\u LpnRPCService.class);
service.getUserInfoFromHeader(新的AsyncCallbackSupport(false){
@凌驾
成功时公共无效(字符串远程用户){
日志(“获取远程呼叫”);
defaultMainScreen.setUsername(远程用户);
GWT.log(“远程用户=”+远程用户);
}       
});

如果要访问HttpServletRequest对象,可以使用以下代码段:

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

public class UPS_LpnListRPCServiceImpl extends RemoteServiceServlet implements
        IUPS_LpnRPCService {

...........
...........

public String getUserInfoFromHeader() {
  ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
  if (requestAttributes != null) {
       HttpServletRequest req = requestAttributes.getRequest();
       remote_user = req.getSession().getAttribute("j_username").toString();
  }

}


.........

}

不要忘记将以下配置添加到web.xml以维护HttpSession,否则您将出现和IllegalStateException:

<listener>  
  <listener-class>  
    org.springframework.web.context.request.RequestContextListener  
  </listener-class>  
</listener>

org.springframework.web.context.request.RequestContextListener

您是否在使用spring之类的服务器端技术?
<listener>  
  <listener-class>  
    org.springframework.web.context.request.RequestContextListener  
  </listener-class>  
</listener>