2010-07-22 100 views
2

使用mysql數據庫的gwt應用程序在調試時在eclipse中正常運行。當我在tomcat上運行它時,它顯示正確,但是當我點擊一個使RPC(執行servlet和聯繫數據庫)的按鈕時,我得到一個錯誤。我檢查了我的tomcat日誌,我看到404錯誤上的一個按鈕,當點擊:將RPC部署到tomcat的問題(可能是web.xml問題)

0:0:0:0:0:0:0:1 - - [22/Jul/2010:10:32:39 +0200] "GET /Bazica/war/Bazica.html HTTP/1.1" 304 - 
0:0:0:0:0:0:0:1 - - [22/Jul/2010:10:32:39 +0200] "GET /Bazica/war/Bazica.css HTTP/1.1" 304 - 
0:0:0:0:0:0:0:1 - - [22/Jul/2010:10:32:39 +0200] "GET /Bazica/war/bazica/bazica.nocache.js HTTP/1.1" 304 - 
0:0:0:0:0:0:0:1 - - [22/Jul/2010:10:32:39 +0200] "GET /Bazica/war/bazica/ F0C186B415ADBD43522C686552368517.cache.html HTTP/1.1" 304 - 
0:0:0:0:0:0:0:1 - - [22/Jul/2010:10:32:39 +0200] "GET /Bazica/war/bazica/gwt/standard/images/hborder.png HTTP/1.1" 304 - 
0:0:0:0:0:0:0:1 - - [22/Jul/2010:10:33:29 +0200] "POST /Bazica/war/bazica/greet HTTP/1.1" 404 1024 

我想這是web.xml文件和URL模式的問題。我想我不明白這個網址模式,它應該指向哪裏?

web.xml中:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> 

<web-app> 

<!-- Servlets --> 
<servlet> 
<servlet-name>greetServlet</servlet-name> 
<servlet-class>com.test.baze.server.GreetingServiceImpl</servlet-class> 
</servlet> 

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

<!-- Default page to serve --> 
<welcome-file-list> 
<welcome-file>Bazica.html</welcome-file> 
</welcome-file-list> 

</web-app> 

我的接口有一個註釋RemoteServiceRelativePath( 「打招呼」),我認爲這是相關的:

package com.test.baze.client; 

import com.google.gwt.user.client.rpc.RemoteService; 
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; 

/** 
* The client side stub for the RPC service. 
*/ 
@RemoteServiceRelativePath("greet") 
public interface GreetingService extends RemoteService { 
String greetServer(String name) throws IllegalArgumentException; 
} 

我試圖改變的url-pattern到的文件夾我的服務實現/ WEB-INF/classes/com/test/baze/server,但是我的應用程序掛起時沒有消息。 你能幫我改變我的web.xml或者某事。否則讓我的應用程序在Tomcat上工作。 TNX。

回答

0

如果你把一個look at the docs,你的URL模式應該是:

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

但在你的web.xml中,你已經設置的模塊名稱爲 「bazica」。你的GWT模塊文件(.gwt.xml文件)中的renaming the module是否爲bazica?如果你不是,你要麼重命名它,要麼使用GWT模塊文件的完整路徑。

+0

是的,我將模塊重命名爲「bazica」()。 還有什麼可能是錯的? – DixieFlatline 2010-07-23 15:57:26

+0

我是否需要將行添加到模塊描述中? – DixieFlatline 2010-07-27 08:12:43

+0

你可以編輯你的文章以上並添加你的gwt模塊代碼嗎? – 2010-07-27 12:44:57