不要连接到服务器......这是最后一个gwt eclipse中的一个项目
点击gwt中的按钮:
greetServer(textToServer,
new AsyncCallback<String>() {
public void onFailure(Throwable caught) {
// Show the RPC error message to the user
dialogBox
.setText("Remote Procedure Call - Failure");
serverResponseLabel
.addStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(SERVER_ERROR);
dialogBox.center();
closeButton.setFocus(true);
}
public void onSuccess(String result) {
dialogBox.setText("Remote Procedure Call");
serverResponseLabel
.removeStyleName("serverResponseLabelError");
serverResponseLabel.setHTML(result);
dialogBox.center();
closeButton.setFocus(true);
}
});
我的gwt服务器:
public String greetServer(String input) throws IllegalArgumentException {
// Verify that the input is valid.
if (!FieldVerifier.isValidName(input)) {
// If the input is not valid, throw an IllegalArgumentException back to
// the client.
throw new IllegalArgumentException(
"Name must be at least 4 characters long");
}
String serverInfo = getServletContext().getServerInfo();
String userAgent = getThreadLocalRequest().getHeader("User-Agent");
// Escape data from the client to avoid cross-site script vulnerabilities.
input = escapeHtml(input);
userAgent = escapeHtml(userAgent);
return "Hello, " + input + "!<br><br>I am running " + serverInfo
+ ".<br><br>It looks like you are using:<br>" + userAgent;
}
这是我的gwt服务:
@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService {
String greetServer(String name) throws IllegalArgumentException;
}
gwt serviseAsyn文件:
public interface GreetingServiceAsync {
void greetServer(String input, AsyncCallback<String> callback)
throws IllegalArgumentException;
}
web xml
<!-- Servlets -->
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>kill.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/hello123/greet</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>Hello123.html</welcome-file>
</welcome-file-list>
单击按钮上的- 服务器不返回值,因为找不到文件 - 为什么?
Jun 27, 2012 11:12:13 AM com.google.appengine.tools.development.LocalResourceFileServlet doGet
WARNING: No file found for: /com.mycompany.project.ImageViewer/GreetingService
该怎么办?
答案 0 :(得分:7)
在web.xml
文件中,您将服务映射为/hello123/greet
:
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/hello123/greet</url-pattern>
</servlet-mapping>
虽然错误显示正在尝试加载默认值/modulename/serviceinterfacename
或/ com.mycompany.project.ImageViewer/GreetingService
。有两种选择:
web.xml
条目以使用RPC接口所需的默认URL https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication简要讨论了这两个论文,以及其他RPC设置细节。
对于第二种选择,通常如下所示:
MyServiceAsync service = GWT.create(MyService.class);
((ServiceDefTarget)service).setServiceEntryPoint("/hello123/greet");
service.methodName(...