Java @WebServlet注释和GWT RPC

Java @WebServlet注释和GWT RPC,java,gwt,servlets,rpc,Java,Gwt,Servlets,Rpc,在glassfishv3中运行的GWT项目中,一切都正常工作,但是当我在servlet类中将servlet url模式从web.xml映射到@WebServlet注释时,GWT rpc就可以找到servlet了 请注意,其他常用的servlet可以使用此注释(WebServlet),而只有GWT RPC不起作用 原因是什么 RGDS您是否将web.xml中的web app的版本号设置为正确的servlet版本,因为此功能仅在3.0之后才可用: <web-app xmlns="http://

在glassfishv3中运行的GWT项目中,一切都正常工作,但是当我在servlet类中将servlet url模式从web.xml映射到@WebServlet注释时,GWT rpc就可以找到servlet了

请注意,其他常用的servlet可以使用此注释(WebServlet),而只有GWT RPC不起作用

原因是什么


RGDS

您是否将web.xml中的
web app
的版本号设置为正确的servlet版本,因为此功能仅在3.0之后才可用:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0"> 

好的,我终于让它起作用了,但有一些警告。我能够让它在Intellij中的Tomcat中工作,并作为部署到Tomcat7容器的WAR

如果不使用-noserver,我无法让它在开发模式下工作。我认为这是因为内置Jetty服务器与JSR315不兼容,但没有证据表明这一点,因为我还没有尝试确定gwt dev jar中的Jetty版本


诀窍是您需要在WebServlet中完全限定路径。因此,如果您的远程服务接口的相对路径为“bar”,并且模块名(在gwt.xml中重命名为)为“foo”,那么您需要在WebServlet中设置“/foo/bar”的路径,它就会工作。

是的,它是版本3,其他Servlet使用这种映射(@WebServlet)但是GWT remoteServiceServlet不起作用请注意,其他常见的Servlet可以正常使用此注释,而GWT RPC有问题您有没有得到过关于此问题的答案?我知道这很旧,但这里有一个错误与让Servlet 3.0注释与嵌入式Jetty服务器一起工作直接相关;