将GWT应用程序部署到Tomcat的正确方法是什么?我用服务器端代码(servlet)制作了一个GWT应用程序。它在托管模式下有效,但仅当我将WAR文件夹(编译后)复制到Tomcat webapp目录并正确重命名war文件夹时才可以。
我的GWT应用程序servlet在URI / mygwtapp中,因此我将文件夹重命名为mygwtapp。应用正确加载,出现servlet无法运行的问题,即/ mygwtapp / servlet无法运行。
服务器端代码所需的所有库都在WEB-INF / lib文件夹中。这可能是什么原因?
谢谢。
最佳答案
默认情况下,Tomcat从上下文路径“ / mygwtapp”提供名为“ mygwtapp”的应用程序。 (而GWT内置码头则通过上下文路径“ /”为其提供服务。)
您的servlet路径通常为“ / mygwtapp / *”。这意味着,与上下文路径一起,现在可以从“ / mygwtapp / mygwtapp / *”访问您的servlet。 (尝试一下:只需在浏览器中输入完整的URL-Servlet通常会抱怨缺少某些内容,或者它不支持GET,但是您现在肯定会知道它的位置。)
因此,您有两种选择:
告诉客户端在“ / mygwtapp / mygwtapp / *”处调用servlet(我认为,在使用@RemoteServiceRelativePath批注时,这已经自动解决了)
如http://tomcat.apache.org/tomcat-6.0-doc/config/context.html中所述,调整Tomcat中Web应用程序的上下文路径。