@WebServlet注释和GWT RPC

时间:2011-11-24 09:51:06

标签: java gwt servlets rpc

在我在glassfishv3中运行的GWT项目中,一切都运行正常,但是当我将servlet url模式从web.xml更改为servlet类中的@WebServlet注释时,GWT rpc cand找到了servlet!

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

是什么原因?

RGDS

2 个答案:

答案 0 :(得分:6)

您是否将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"> 

答案 1 :(得分:4)

好的,我终于有了这个工作,但有一些警告。我能够在Intellij中的Tomcat中工作,并作为Tomcat 7容器的部署WAR。

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

技巧是您需要完全限定WebServlet中的路径。因此,如果您的远程服务接口的相对路径为“bar”,而您的模块名称(在gwt.xml中为rename-to)为“foo”,则需要在WebServlet中设置“/ foo / bar”路径所需的路径它会起作用。