将GWT部署到Tomcat(servlet未运行)

时间:2011-06-30 17:30:30

标签: gwt tomcat servlets

将GWT应用程序部署到Tomcat的正确方法是什么?我用服务器端代码(servlets)创建了一个GWT应用程序。它在托管模式下工作,但只有当我将WAR文件夹(编译后)复制到Tomcat webapp目录并正确重命名war文件夹时才会工作。

我的GWT app servlet在URI / mygwtapp中,所以我重命名了文件夹mygwtapp。应用程序正确加载servlet不运行的问题,即/ mygwtapp / servlet不运行。

服务器端代码所需的所有库都在WEB-INF / lib文件夹中。这可能是什么原因?

感谢。

2 个答案:

答案 0 :(得分:2)

默认情况下,Tomcat从上下文路径'/ mygwtapp'提供名为'mygwtapp'的应用程序。 (GWT内置码头从上下文路径'/'。)

服务

您的servlet路径通常是'/ mygwtapp / *'。这意味着,结合上下文路径,您的servlet现在可以从'/ mygwtapp / mygwtapp / *'访问。 (试一试:只需在浏览器中输入完整的URL - Servlet通常会抱怨缺少某些东西,或者它不支持GET,但你现在肯定知道它在哪里。)< /子>

所以你有两个选择:

  1. 告诉客户端调用'/ mygwtapp / mygwtapp / *'中的servlet(我认为,使用@RemoteServiceRelativePath注释时已经自动处理了这个)
  2. 调整Tomcat中Web应用程序的上下文路径,如http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
  3. 中所述

答案 1 :(得分:0)

另一个选择是使用GWT.getModuleBaseURL()然后在客户端代码附加servlet名称。这将使它在没有任何特殊配置的Jetty或Tomcat上工作。