2011-12-08 33 views
2

我有一个我在Tomcat中部署的GWT应用程序。当我在web应用部署它的文件夹是这样的:当作为ROOT部署在Tomcat中时,RPC/Servlet不工作

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模式是这样的:

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

可能是什么问题?

+0

请解释具体是什么不工作。尽可能提供错误消息和/或堆栈跟踪。 –

+0

RPC失败,因为我认为servlet url模式映射不正确。 – xybrek

+0

但是,当我将应用程序从ROOT转移到webapps文件夹中的mygwtapp时,它才起作用(即如果url模式如下所示:/mygwtapp/greet xybrek

回答

1

即使使用ROOT它的路径仍然可以是 '/ mygwtapp /迎接'

的图案是[上下文]/[项目名称]/[servlet的],所以在这种情况下用root是/ + mygwtapp +迎接

1)检查您网页中的Java脚本的路径,它应该是...

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

我会使用一个跟踪工具来看看你得到什么结果的JavaScript,火狐/火鸟,Chrome /开发工具或IE/HttpWatch是好的。你应该得到200,如果不是这样的路径,那就是问题所在。

2)检查您的文件夹布局在根文件夹,您应该具备以下

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

3)检查你的web.xml路径,这应该是/ mygwtapp /问候和@ RemoteServiceRelativePath应该“迎接”

希望有所帮助。

+0

这种方法你建议,当我访问http:// localhost:8080它会自动处理mygwtapp吗?我的意思是像转发请求到ROOT \ mygwtapp ? – xybrek

+0

顺便说一下,是的,我有1,2和3选中。仍然不起作用。 – xybrek

+0

当您加载页面时,跟踪http:// localhost:8080/mygwtapp/mygwtapp.nocache.js的结果是否为200 ? –

相关问题