如果我将名为FirstProject的GWT项目放入Tomcat的ROOT文件夹中。所有东西,包括RPC调用,都可以正常工作。
我的web.xml是:
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
<!-- Servlets -->
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>com.example.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/firstproject/greet</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>FirstProject.html</welcome-file>
</welcome-file-list>
</web-app>
我的界面是:
@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService { ... }
但是如果我将所有FirstProject战争内容复制到Tomcat的ROOT / MyFolder /文件夹中并在http://example_web_address.com/MyFolder/FirstProject.html上访问它,那么所有东西都可以工作,除了RPC调用
我不想使用maven,ant或压缩war文件。我应该在web.xml中更改什么?或者其他地方的问题是什么?
答案 0 :(得分:2)
您需要将servlet-mapping
的{{1}}更新为GWT所期望的位置,即用url-pattern
作为前缀:
MyFolder
注意:您的<url-pattern>/MyFolder/firstproject/greet</url-pattern>
也必须同样更新。
也许您宁愿在<welcome-file>
而不是/MyFolder
部署应用程序?
答案 1 :(得分:0)
我投了托马斯。但真正的答案是&#34;不要将战争内容复制到webapps / ROOT / MyFolder中,把它放在webapps / MyFolder中,不要在web.xml中更改任何内容&#34;。
我希望在stackoverflow道德规范中这是正确的做法。