在我在glassfishv3中运行的GWT项目中,一切都运行正常,但是当我将servlet url模式从web.xml更改为servlet类中的@WebServlet注释时,GWT rpc cand找到了servlet!
请注意,其他常用的servlet使用此注释(WebServlet),只有GWT RPC不起作用。
是什么原因?
RGDS
答案 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”路径所需的路径它会起作用。