我已經搜索了幾乎幾個小時的網絡,但我沒有找到答案。 問題是,我想測試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