在Tomcat中部署为ROOT时,RPC / Servlet无法正常工作

时间:2011-12-08 01:44:04

标签: gwt tomcat servlets

我有一个我在Tomcat中部署的GWT应用程序。当我将它部署在webapps文件夹中时,如下所示:

webapps/mygwtapp

并从浏览器访问它,http://localhost:8080/mygwtapp服务器端RPC / Servlet工作。

但是当我将mygwtapp文件夹更改为ROOT文件夹时,RPC / Servlet停止工作。

一个servlet配置,当应用程序未部署为ROOT时,这种方法有效:

  <servlet-mapping>
    <servlet-name>greetServlet</servlet-name>
    <url-pattern>/mygwtapp/greet</url-pattern>
  </servlet-mapping>

然而,当部署为ROOT时它不起作用,即使我以这种方式更改url-pattern:

<url-pattern>/greet</url-pattern>

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

即使使用ROOT,路径仍可以是'/ mygwtapp / greet'

模式是 [上下文] / [项目名称] / [servlet] ,所以在这种情况下使用ROOT它是/ + mygwtapp + greet

1)检查页面上java脚本的路径,它应该是......

<script type="text/javascript" language="javascript" src="mygwtapp/mygwtapp.nocache.js"></script>

我会使用跟踪工具来查看javascript,Firefox / Firebird,Chrome /开发人员工具或IE / HttpWatch的结果。你应该得到200,如果不是这条路就是问题。

2)检查ROOT文件夹中的文件夹布局,您应该有以下内容

ROOT
 |->mygwtapp (your mygwtapp.nocache.js should be here)
 |->WEB-INF

3)检查你的web.xml路径,它应该是/ mygwtapp / greet,你的@RemoteServiceRelativePath应该是“问候”

希望有所帮助。