2010-07-22 5 views
2

Mon application gwt qui utilise la base de données mysql s'exécute normalement en éclipse lors du débogage. Quand je l'exécute sur tomcat, il s'affiche correctement mais quand je clique sur un bouton qui fait un RPC (exécute une servlet et contacte la base de données) j'obtiens une erreur. J'ai vérifié mon journal tomcat et je vois l'erreur 404 en cliquant sur un bouton:Problèmes avec le déploiement de GWT avec RPC vers tomcat (problème web.xml probablement)

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 

Je suppose que cela est un problème avec le fichier web.xml et modèle url. Je suppose que je ne comprends pas ce modèle d'URL, où devrait-il pointer?

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> 

Mon interface a une RemoteServiceRelativePath d'annotation ("saluer"), je pense qu'il est pertinent:

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; 
} 

J'ai essayé de changement de modèle d'URL dans le dossier de mon service implémentation/WEB-INF/classes/com/test/baze/serveur mais mon application se bloque sans message. Pourriez-vous m'aider s'il vous plaît à changer mon web.xml ou sth. d'autre pour obtenir mon application travaillant sur un Tomcat. Tnx.

Répondre

0

Si vous prenez un look at the docs, votre modèle d'URL doit être:

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

Mais dans votre web.xml, vous avez défini le nom du module "bazica". Êtes-vous renaming the module dans votre fichier de module GWT (fichier .gwt.xml) à bazica? Si ce n'est pas le cas, vous devrez le renommer ou utiliser le chemin d'accès complet au fichier du module GWT.

+0

Oui, j'ai renommé mon module en "bazica" (). Quoi d'autre pourrait être faux? – DixieFlatline

+0

Ai-je besoin d'ajouter la ligne à la description du module? – DixieFlatline

+0

Pouvez-vous modifier votre message ci-dessus et ajouter votre code de module gwt aussi? –

Questions connexes