problème DWR framework AJAX

problème DWR framework AJAX - Java - Programmation

Marsh Posté le 11-02-2007 à 15:06:47    

Bonjour,
 
Je viens depuis peu d'installer Tomcat 5.5.20 et j'aimerais utiliser DWR pour utiliser mes objets java en javascript.
Seulement je n'arrive pas à faire reconnaître mes objets java par DWR.
J'ai créer une classe java Enfant toute simple :  
 
package Famille;
 
public class Enfant {
 
 public String nom;
 public String prenom;
 public int age;
 
 public Enfant (String nom, String prenom, int age)
 {
  this.nom=nom;
  this.prenom=prenom;
  this.age=age;
 }
}

 
Mon application web qui se trouve sous webapps de Tomcat s'appelle "Essai", elle contient un fichier index.html, le répertoire WEB-INF, qui contient :
-> le fichier web.xml suivant :
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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 id="dwr">
 
  <display-name>Essai DWR</display-name>
 
  <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <display-name>DWR Servlet</display-name>
    <description>Direct Web Remoter Servlet</description>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>pollAndCometEnabled</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>allowGetForSafariButMakeForgeryEasier</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
 
</web-app>
 
 
-> le fichier dwr.xml suivant :
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.ltd.uk/dwr/dwr20.dtd">
 
<dwr>
 
  <allow>
 
 
    <create creator="new" javascript="Enfantjs">
      <param name="class" value="EssaiDWR.bin.FamilleEnfant.Enfant"/>
    </create>
   
 
    <!-- resources not in this war file: java.util.Date -->
    <create creator="new" javascript="JDate" scope="session">
      <param name="class" value="java.util.Date"/>
      <exclude method="getHours"/>
      <auth method="getMinutes" role="admin"/>
      <auth method="getMinutes" role="devel"/>
      <filter class="uk.ltd.getahead.dwrdemo.filter.LoggingAjaxFilter"/>
      <filter class="uk.ltd.getahead.dwrdemo.filter.RandomSecurityAjaxFilter"/>
    </create>
   
  </allow>
</dwr>
 
 
-> Le répertoire "lib" avec le jar dwr.jar  (est-ce que toutes les versions doivent marcher ???)
 
-> Le répertoire "classes" où ma classe Enfant.class se trouve sous : Essai\WEB-INF\classes\EssaiDWR\bin
 
Quand je vais sous l'URL http://localhost:8080/Essai/dwr/index.html, on me dit que seul la classe JDate est connue !
 
Est-ce que vous avez une idée du problème ? Un problème de lien ? de fichiers mal placés ou manquants ?  
 
Merci par avance pour votre aide,
 
Eva
 
 
 

Reply

Marsh Posté le 11-02-2007 à 15:06:47   

Reply

Marsh Posté le 11-02-2007 à 18:06:13    

le nom de ton package est assez foireux. Essayes un truc plus classique du style org.essaidwr (donc dans ton creator value="or.essaidwr.Enfant" )
Pour le reste tu as tout bien configuré donc ca devrait marcher

Reply

Marsh Posté le 11-02-2007 à 19:49:17    

Oui c'était bien une erreur de nom de package, je suis partie du nom de mon projet java et en plus j'ai fait une faute de copier/coller  :pt1cable:  
Merci beaucoup pour ton aide maintenant tout marche  :) !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed