我想使用RequestBuilder在我的PlayN项目中发出HTTP请求,如下所述: http://code.google.com/webtoolkit/doc/latest/DevGuideServerCommunication.html#DevGuideHttpRequests
我在我的模块xml文件中添加了标记:
但我仍然有以下编译错误:
无法解析导入的com.google
我还应该做些什么来让我的项目编译?
以下是代码:
import com.google.gwt.http.client.*;
...
String url = "http://www.myserver.com/getData?type=3";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
try {
Request request = builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// Couldn't connect to server (could be timeout, SOP violation, etc.)
}
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
// Process the response in response.getText()
} else {
// Handle the error. Can get the status text from response.getStatusText()
}
}
});
} catch (RequestException e) {
// Couldn't connect to server
}
答案 0 :(得分:0)
如果您正在使用Maven进行构建(我怀疑您可能是),请确保以下依赖项位于您的html / pom.xml中
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
</dependency>
如果您使用的是2.4.0以外的GWT版本,则可能需要更改版本
编辑: 既然我知道您正在运行Java应用程序(基于以下评论)而不是GWT应用程序,那么您可能需要使用GWT的HTTP客户端以外的方式发出HTTP请求。您需要删除上述依赖项并查看this question的答案,以便了解如何执行此操作...
如果您需要在GWT和Java PlayN目标中发出HTTP请求,您可能需要抽象核心模块中所需的HTTP客户端接口,并在java和GWT中提供适当的具体实现模块。我描述了使用Gin和Guice来注入AsyncService的java和GWT特定实例&lt;&gt; this answer here中的对象,如果需要,可以使用类似的方法在每个平台的基础上注入相应的HTTP客户端实例......