使用RPC将tomT部署到tomcat的问题(可能是web.xml问题)

时间:2010-07-22 10:04:42

标签: gwt servlets rpc web.xml

使用mysql数据库的我的gwt应用程序在调试时在eclipse中运行正常。当我在tomcat上运行它时,它显示正确,但是当我点击一个生成RPC的按钮(执行servlet并联系数据库)时,我收到一个错误。我检查了我的tomcat日志,点击按钮时看到404错误:

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-pattern的问题。我想我不明白这个url-pattern,它应该指向哪里?

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(“greet”),我认为它是相关的:

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。

1 个答案:

答案 0 :(得分:0)

如果您选择look at the docs,则您的网址格式应为:

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

但是在您的web.xml中,您已将模块名称设置为“bazica”。你的GWT模块文件(.gwt.xml文件)中有renaming the module到bazica吗?如果你不是,你要么必须重命名它,要么使用GWT模块文件的完整路径。