2011-12-08 48 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 ? –

相關問題