Maven生成的GWT Servlet没有响应

Maven生成的GWT Servlet没有响应,gwt,servlets,maven,Gwt,Servlets,Maven,我使用GWTMaven插件(版本2.3.0)生成了一个GWT项目。这方面的好处是Maven插件负责生成服务的异步部分。一切看起来都正常,但servlet在托管模式下运行(在Jetty中运行)和将结果WAR部署到Tomcat时都没有响应 我现在的问题是servlet根本没有响应。调用了onSuccess()回调,但我得到的都是null值。我几乎是从GWT主页复制了本教程,因此我的服务是这样创建的: final StatusServiceAsync statusService = GWT.creat

我使用GWTMaven插件(版本2.3.0)生成了一个GWT项目。这方面的好处是Maven插件负责生成服务的异步部分。一切看起来都正常,但servlet在托管模式下运行(在Jetty中运行)和将结果WAR部署到Tomcat时都没有响应

我现在的问题是servlet根本没有响应。调用了
onSuccess()
回调,但我得到的都是
null
值。我几乎是从GWT主页复制了本教程,因此我的服务是这样创建的:

final StatusServiceAsync statusService = GWT.create(StatusService.class);
这是我的服务界面:

@RemoteServiceRelativePath("status")
public interface StatusService extends RemoteService
{
    String getStatus(String someInput);
}
如前所述,异步副本由Maven插件生成。web.xml如下所示:

<servlet>
   <servlet-name>statusServlet</servlet-name>
   <servlet-class>my.package.StatusServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>statusServlet</servlet-name>
  <url-pattern>/StatusBoard/status</url-pattern>
</servlet-mapping>
<welcome-file-list>
  <welcome-file>StatusBoard.html</welcome-file>
</welcome-file-list>
很抱歉,我忘记了那个细节,但有时调试器无法识别servlet中的断点。但即使返回,返回值仍然是
null


任何想法都非常感谢

默认情况下,您的GWT应用程序具有来自模块名称的基本URL。如果您在gwt.xml文件中使用了“重命名为”属性,那么该值将是您的基本URL。在这种情况下,查看您的web.xml条目,您的模块应命名为“StatusBoard”。或者将您的URL更改为“重命名为”值。

默认情况下,您的GWT应用程序具有来自模块名称的基本URL。如果您在gwt.xml文件中使用了“重命名为”属性,那么该值将是您的基本URL。在这种情况下,查看您的web.xml条目,您的模块应命名为“StatusBoard”。或者将您的URL更改为“重命名为”值。

以防万一:您的servlet是否继承自RemoteServiceServlet并实现StatusService?您可以使用Firebug(用于Firefox)嗅探请求/响应(网络选项卡)并检查请求和响应。我可以将您的请求/响应与我的项目进行比较,以查看差异……是的,servlet确实继承了RemoteServiceServlet并实现了服务接口。您的GWT模块是否命名为“StatusBoard”,或者您是否有“重命名为”姓名设置?@Jason和Robert:你们中的一个人应该把它作为一个答案张贴出来,然后Robert应该把它标记为接受。Robert:在标题中添加“[已解决]”并不是表示问题有可接受答案的正确方式。以防万一:您的servlet是否继承自RemoteServiceServlet并实现StatusService?您可以使用Firebug(对于Firefox)嗅探请求/响应(网络选项卡)并检查请求和响应。我可以将您的请求/响应与我的项目进行比较,以查看差异……是的,servlet确实继承了RemoteServiceServlet并实现了服务接口。您的GWT模块是否命名为“StatusBoard”,或者您是否有“重命名为”姓名设置?@Jason和Robert:你们中的一个人应该把它作为一个答案张贴出来,然后Robert应该把它标记为接受。罗伯特:在题目中加上“[已解决]”并不是表示问题有公认答案的正确方式。
public class StatusServiceImpl extends RemoteServiceServlet implements StatusService
{
    private static final long serialVersionUID = 3317511632727461036L;

    @Override
    public String getStatus(final String someInput)
    {
        return someInput;
    }
}