RPC上的GWT 404错误
我对gwt和rpc有问题。我为我的rpc实现了一个服务:RPC上的GWT 404错误,gwt,maven,rpc,gwt-rpc,gwt-maven-plugin,Gwt,Maven,Rpc,Gwt Rpc,Gwt Maven Plugin,我对gwt和rpc有问题。我为我的rpc实现了一个服务: @RemoteServiceRelativePath("search") public interface SearchService extends RemoteService { List<Result> doSearch(String keyWords, Coordinate start, Coordinate end); } public interface SearchServiceAsync {
@RemoteServiceRelativePath("search")
public interface SearchService extends RemoteService {
List<Result> doSearch(String keyWords, Coordinate start, Coordinate end);
}
public interface SearchServiceAsync {
void doSearch(String keyWords, Coordinate start, Coordinate end, AsyncCallback<List<Result>> callback);
}
public class SearchServiceImpl extends RemoteServiceServlet implements SearchService {
private static final long serialVersionUID = 1L;
private ISearch search = null; // interface to my database
public List<Result> doSearch(String keyWords, Coordinate start, Coordinate end) {
LonLat lowerLeft = new LonLat(start.getLongitude(), start.getLatitude());
LonLat upperRight = new LonLat(end.getLongitude(), end.getLatitude());
try {
search = new SearchController(keyWords, lowerLeft, upperRight);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
List<de.myPackage.model.Result> temp = null;
try {
temp = search.doSearch();
} catch (SQLException e) {
e.printStackTrace();
}
return map(temp);
}
private List<Result> map(List<de.myPackage.model.Result> results) {
....
}
}
这是什么意思?我不明白:(您的
WEB-INF/WEB.xml
中缺少servlet映射:
<servlet>
<servlet-name>SearchService</servlet-name>
<servlet-class>de.myPackage.server.SearchServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SearchService</servlet-name>
<url-pattern>/search</url-pattern>
</servlet-mapping>
搜索服务
de.myPackage.server.SearchServiceImpl
搜索服务
/搜寻
您可以将其放在web.xml中,或者如果您使用的是Servlet 3.0容器(即不是DevMode,也不是AppEngine)在你的类上应用适当的注释。你的WEB-INF/WEB.xml中有什么?或者你可能正在使用gwt maven插件的
mergewebxml
mojo和scanRemoteServiceRelativePathAnnotation
参数?没有,我的WEB.xml中没有任何内容,因为我认为它将由maven自动生成。如果没有-我实际上需要向我的web.xml添加什么?哦,对不起,它没有:(在web应用程序中找不到服务器类'de.myProject.Server.SearchServiceImpl'。相同错误404。如果我使用您发布的链接中的xml部分,pom.xml将不再可解析。您如何运行应用程序?mvn gwt:run
?或者使用Eclipse的Google插件从Eclipse运行?在后一种情况下,请参阅我从Eclipse运行它。不要这样做知道如何用另一种方式来做吗^^。对于哪种情况,链接是有趣的?对于自编辑web.xml或通过gwt生成它`?在我的pom.xml中找到了一些东西:org.apache.maven.plugins maven clean plugin 2.4.1 src/main/webapp/Application这意味着什么“应用程序”?因为我没有一个名为ApplicationBad practice的文件或目录。千万不要使用src/
作为目标,这就是target/
的目的;换句话说,千万不要使用src/main/webapp
作为GWT(DevMode或编译器)的-war
。如果你做的事情是正确的,那么在你的POM中就不需要这样的配置。我建议你从一个空的POM开始,或者使用一个更新和/或更好的原型(gwt maven插件的原型不是一个好的开始)
404 - POST /myProject/search (127.0.0.1) 1412 bytes
Request headers
Host: 127.0.0.1:8888
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997
X-GWT-Permutation: HostedMode
X-GWT-Module-Base: http://127.0.0.1:8888/myProject/
Content-Type: text/x-gwt-rpc; charset=utf-8
Content-Length: 334
Pragma: no-cache
Cache-Control: no-cache
Response headers
Content-Type: text/html; charset=iso-8859-1
Content-Length: 1412
<servlet>
<servlet-name>SearchService</servlet-name>
<servlet-class>de.myPackage.server.SearchServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SearchService</servlet-name>
<url-pattern>/search</url-pattern>
</servlet-mapping>