Tomcat中的GWT项目,它不直接在根目录中

Tomcat中的GWT项目,它不直接在根目录中,tomcat,gwt,gwt-rpc,Tomcat,Gwt,Gwt Rpc,如果我将GWT项目的名为FirstProject的war内容直接放入Tomcat的根文件夹中。所有事情,包括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/jav

如果我将GWT项目的名为FirstProject的war内容直接放入Tomcat的根文件夹中。所有事情,包括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>
但如果我将所有FirstProject war内容复制到Tomcat的ROOT/MyFolder/folder中并访问它,那么除了RPC调用之外,所有东西都可以工作


我不想使用maven、ant或压缩的war文件。我应该在web.xml中更改什么?或者问题在其他地方?

您需要将
servlet映射
url模式
更新到GWT预期的位置,即在它们前面加上
MyFolder

<url-pattern>/MyFolder/firstproject/greet</url-pattern>
/MyFolder/firstproject/greet

注意:您的
也必须进行类似的更新


也许你更愿意将应用部署在
/MyFolder
而不是
/ROOT
上,那么?

我支持托马斯。但真正的答案是“不要将war内容复制到webapps/ROOT/MyFolder中,将其放入webapps/MyFolder中,并且不要更改web.xml中的任何内容”


我希望这是stackoverflow道德规范中正确的做法。

不起作用。我仍然得到错误404。我该对tomcat做些什么?context.xml或server.xml?两天后,这将是答案。
<url-pattern>/MyFolder/firstproject/greet</url-pattern>