Tomcat中的GWT项目不直接在ROOT中

时间:2014-08-28 10:07:18

标签: tomcat gwt gwt-rpc

如果我将名为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中更改什么?或者其他地方的问题是什么?

2 个答案:

答案 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道德规范中这是正确的做法。