我对我的gwt应用程序进行了一些重构,并使其成为多个模块(即多个* .gwt.xml和EntryPoint)
除了RPC之外,一切似乎都运行良好。因为我重构了应用程序,从单个mygwtapp.gwt.xml
到多个gwt.xml文件:
main.gwt.xml
user.gwt.xml
login.gwt.xml
依旧......
我必须从以下位置更改servlet映射URL模式:
/mygwtapp/someRPC
进入/main/someRPC
以确保RPC将适用于主模块。它适用于主模块,但不适用于其他模块。因为每个模块除了相对于其模块名称(例如/user/someRPC
这种情况的解决方法是什么?
答案 0 :(得分:2)
将rpc代码放在共享目录中,在模块描述符中通过source
指令引用它,然后在'web.xml`中对同一个servlet进行多次映射。
<servlet-mapping>
<servlet-name>SomeServiceServlet</servlet-name>
<url-pattern>/moduleOne/rpc/SomeService</url-pattern>
<url-pattern>/moduleTwo/rpc/SomeService</url-pattern>
<url-pattern>/moduleThree/rpc/SomeService</url-pattern>
</servlet-mapping>
答案 1 :(得分:1)
您必须选择使用setServiceEntryPoint()并设置绝对路径(“/ main / someRpc”)或使用@RemoteServiceRelativePath,但将路径设置为(“../main/someRpc”):)