我已经阅读了其他 GWT Servlet 问题,但仍然无法解决我的问题。我的包称为 Maps,它有一个名为 MyService 的服务(它是根据 GWT 教程设置的)。 web.xml 文件包含以下内容:
<servlet>
<servlet-name>MyServiceImpl</servlet-name>
<servlet-class>com.xerox.maps.maps.server.MyServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServiceImpl</servlet-name>
<url-pattern>/Maps/service</url-pattern>
</servlet-mapping>
在 MyService 中,我有以下行:
@RemoteServiceRelativePath("service")
public interface MyService extends RemoteService { ...
但是,当我尝试进行 RPC 调用时,会抛出错误。错误的详细信息表明这是一个 404 HTTP 错误。我该如何解决这个问题,以确保映射正确?
编辑7.27
MyService.java 包含注释:
@RemoteServiceRelativePath("service")
web.xml 包含:
<servlet-name>MyServiceImpl</servlet-name>
<url-pattern>/com.x.maps.Maps/service</url-pattern>
如果我使用 FireBug 跟踪 XHR,它会显示有对 com.x.maps.Maps 的调用
最佳答案
404 Not found 通常是在 GWT 错误推断服务端点路径时抛出的。尝试删除 @RemoteServiceRelativePath("service")
并重新编译并检查,如果这不起作用,请手动找出服务的 URL 端点(通过从浏览器中点击可能的路径,直到错误更改为 500 内部错误),然后将正确的路径作为参数提供给 @RemoteServiceRelativePath("correct/path")
。我会立即尝试的几个试验是 @RemoteServiceRelativePath("/Maps/service")
和@RemoteServiceRelativePath("Maps/service")
没有斜线
关于eclipse - GWT:Servlet URL 映射出现 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6657924/