我已经搜索了几乎几个小时的网络,但我没有找到答案。 问题是,我想测试gwt RPC。 所以我使用Eclipse插件生成了一个GWT远程服务。 但每次我得到以下失败:“[WARN]找不到文件:/ kuss_projekt/SpeicherService”GWT RPC服务未找到
我试了很多,但我不知道是什么问题。 这就是我的代码:
web.xml:
<web-app>
<servlet>
<servlet-name>SpeicherService</servlet-name>
<servlet-class>de.fhdo.kuss.server.SpeicherServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SpeicherService</servlet-name>
<url-pattern>/kuss_projekt/SpeicherService</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>Kuss_Projekt.html</welcome-file>
</welcome-file-list>
</web-app>
-
Speicherservice:
@RemoteServiceRelativePath("SpeicherService")
public interface SpeicherService extends RemoteService {
String getName(String name);
public static class Util {
private static SpeicherServiceAsync instance;
public static SpeicherServiceAsync getInstance(){
if (instance == null) {
instance = GWT.create(SpeicherService.class);
}
return instance;
}
}
}
-
SpeicherServiceAsync:
public interface SpeicherServiceAsync {
void getName(String name, AsyncCallback<String> callback);
}
-
SpeicherServiceImpl
public class SpeicherServiceImpl extends RemoteServiceServlet implements SpeicherService {
@Override
public String getName(String name) {
return("Server meldet sich " + name);
}
}
-
Test():
public void test() {
AsyncCallback<String> callback = new AsyncCallback<String>() {
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
}
@Override
public void onSuccess(String result) {
Window.alert(result);
}
};
SpeicherService.Util.getInstance().getName("test",callback);
}
谢谢您的帮助。它是由插件自动构建的,所以我认为它必须是正确的。 我尝试了请求并得到了404响应。所以我修复了我的servlet映射,现在找到了服务。但是,我得到以下异常: [错误] [kuss_projekt]第6行:没有源代码可用于com.google.gwt.user.server.rpc.RemoteServiceServlet类型;你忘了继承一个必需的模块吗? 但我有代码。怎么了? Sry,但我是新来的,从来没有与Servlets和这个工作。 – ph09
@ ph09,接受答案并发布一个新问题。在stackoverflow答案和评论应该保持专注于单个问题。 –
我仍然有我得到这个问题: [WARN]找不到文件:/ kuss_projekt/SpeicherService 我过度扩张... – ph09