IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

GWT - Probleme de diffusion en mode web


Sujet :

GWT et Vaadin Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 34
    Points
    34
    Par défaut GWT - Probleme de diffusion en mode web
    Bonjour,

    Je débute en GWt et j'ai suivi le tutoriel de Moritan "Mon premier projet GWT".
    Sous eclipse pas de problème, tout tourne nickel. Lorsque je clique sur "compile/browse" j'ai bien mes pages HTML qui sont ok.

    Mais lorsque je lance juste la page HTML sans passer par "compile/browse", je n'ai rien .
    J'ai du oublier de rajouter quelquechose, mais je ne vois pas. J'ai beau relire le tut mais rien

    Le problème doit provenir de mon fichier web.xml que j'ai mal situé. Il faut bien le mettre dans Webapps/nom_service/web-inf/web.xml ?
    Mais sur le serveur web de prod je fais koi ?

    Si une ame charitable a une idée..... je suis preneur

    Merci par avance

    bonne journée

  2. #2
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par sboober
    Bonjour,

    Je débute en GWt et j'ai suivi le tutoriel de Moritan "Mon premier projet GWT".
    Sous eclipse pas de problème, tout tourne nickel. Lorsque je clique sur "compile/browse" j'ai bien mes pages HTML qui sont ok.

    Mais lorsque je lance juste la page HTML sans passer par "compile/browse", je n'ai rien .
    J'ai du oublier de rajouter quelquechose, mais je ne vois pas. J'ai beau relire le tut mais rien

    Le problème doit provenir de mon fichier web.xml que j'ai mal situé. Il faut bien le mettre dans Webapps/nom_service/web-inf/web.xml ?
    Mais sur le serveur web de prod je fais koi ?

    Si une ame charitable a une idée..... je suis preneur

    Merci par avance

    bonne journée
    Désolé, je comprend pas ton problème...
    Quand tu lances ta page HTML, tu la lance à partie d'ou ?
    Normalement ton fichier web.xml est bien placé. Il n'a rien a voir avec l'affichage il ne sert que pour le service.

    Avant de placer les fichier sur le serveur Web as-tu bien lancer le script de compile dans Eclipse?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 34
    Points
    34
    Par défaut
    Petite précision qui a son importance :
    Le serveur web est une red hat avec apache.

    Alors voila comment g procedé :

    *Nouveau projet sou eclipse ( a partir du projet créé par application:project creator)
    *Recuperation de ton code source et mis dans la même structure
    * Je lance sous eclipse (Run bien configuré, ou monapp-shell.cmd)
    * --> ok : fenetre java avec les 2 textfield panel de recherche) + tableau en bas (panel de contact)

    * Ensuite dans la fenetre java, je clique sur "compile/Browser" (reviens au meme que monapp-compile.cmd normalement) et firefox se lance avec les 2 panel --> toujours ok

    * mon repertoire www a un fichier monAppli.html et d'autre fichiers

    --> donc je me dis que si je prend tout le contenu de www, que je le met sur le serveur web ça devrait le faire. Mais lorsque je saisie l'url, je n'ai que le panel du haut
    Ou si je lance le fichier qui se trouve dans www/com.monapp.../monApp.html, j'ai la meme chose


    En gros le mode web ne fonctionne que si je le lance du shell en passant par le bouton compile

    Je ne sais pas si je suis plus clair

  4. #4
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par sboober
    Petite précision qui a son importance :
    Le serveur web est une red hat avec apache.

    Alors voila comment g procedé :

    *Nouveau projet sou eclipse ( a partir du projet créé par application:project creator)
    *Recuperation de ton code source et mis dans la même structure
    * Je lance sous eclipse (Run bien configuré, ou monapp-shell.cmd)
    * --> ok : fenetre java avec les 2 textfield panel de recherche) + tableau en bas (panel de contact)

    * Ensuite dans la fenetre java, je clique sur "compile/Browser" (reviens au meme que monapp-compile.cmd normalement) et firefox se lance avec les 2 panel --> toujours ok

    * mon repertoire www a un fichier monAppli.html et d'autre fichiers

    --> donc je me dis que si je prend tout le contenu de www, que je le met sur le serveur web ça devrait le faire. Mais lorsque je saisie l'url, je n'ai que le panel du haut
    Ou si je lance le fichier qui se trouve dans www/com.monapp.../monApp.html, j'ai la meme chose


    En gros le mode web ne fonctionne que si je le lance du shell en passant par le bouton compile

    Je ne sais pas si je suis plus clair

    Ok, donc tu dois avoir un problème au niveau de ta com entre le client et le serveur.

    Donc à vérifier le nom du service dans le fichier appli.gwt.xml, il faut que ce soit le même que ta webapps dans tomcat. Vérifie aussi le nom de ta servlet dans ton fichier web.xml.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 34
    Points
    34
    Par défaut
    J'ai bien relu la partie VII du tut (deploiement sur tomcat) et j'ai toujours le même soucis sorry


    Pour partir proprement, j'ai reinstallé tomcat (5.5.20).
    Dans le rep webapp, je créé un rep "contactService" avec a l'interieur WEB-INF....
    Dans classes je copie mon arboresence provenant du bin d'eclipse
    Je déplace le gwt-servlet.jat dans common/lib de tomcat
    Et pour terminer je copie l'arboresence du ww d'eclipise dans webapp/contactService de tomcat
    Et enfin le web.xml dans le WEB-INF (meme que dans le tut)

    La je pense bien suivre le tut

    ensuite je lance http://localhost:8080/ --> pas de pb, page d'accueil de tomcat

    ensuite : http://localhost:8080/ContactService/ --> J'ai bien la partie de recherche , mais pas de tableau

    Quelle est mon erreur?
    Existe t il un moyen d'avoir une trace ou autre ?

    Merci

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 34
    Points
    34
    Par défaut
    ça y est !!!

    En fait (je m'en doutais bien) , j'avais fais une boulette.
    J'avais 2 soucis :
    J'avais mis
    <url-pattern>/ContactService</url-pattern>
    au lieu de
    <url-pattern>/contactService</url-pattern> dans le fichier web.xml

    Et a la racine de ma webapp, j'avais copié toute l'arboresence (com/testApp) des fichier html, JS . J'ai juste copié le contenu a la racine de la webApp et c bon

    De plus dans le tut, il est dit
    Cette méthode va nous renvoyer un tableau de contacts à afficher, le temps que l'on implémente le service d'accès à une base de données.
    Ceci est une partie qui m'interesse assez, car je ne sais pas trop comment faire Genre on recup pas mal d'info dans la base que l'on met dans un XML sur le cache du client, et on bosse sur cet XML?



    Désormais je peux tester tranquillement.

    Par contre, dans le même style, j'ai une autre question :
    notre serveur Web n'a pas tomcat, mais apache.. Comment faire ?

    Merci (surtout a Moritan pour son tut)

  7. #7
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par sboober
    ça y est !!!

    En fait (je m'en doutais bien) , j'avais fais une boulette.
    J'avais 2 soucis :
    J'avais mis
    <url-pattern>/ContactService</url-pattern>
    au lieu de
    <url-pattern>/contactService</url-pattern> dans le fichier web.xml

    Et a la racine de ma webapp, j'avais copié toute l'arboresence (com/testApp) des fichier html, JS . J'ai juste copié le contenu a la racine de la webApp et c bon
    Ouf enfin, à quand un fork de la JVM qui ne sois plus case sensitive...

    Citation Envoyé par sboober
    De plus dans le tut, il est dit
    Ceci est une partie qui m'interesse assez, car je ne sais pas trop comment faire Genre on recup pas mal d'info dans la base que l'on met dans un XML sur le cache du client, et on bosse sur cet XML?
    En fait, si j'ai bien compris ton problème c'est quand faire tes requêtes serveurs et que faire du résultat. En bon normand je dirais ça dépend.

    Dans le tuto je stocke tout au démarrage coté client et je travaille dessus après. Mais c'est un mode viable seulement sur de petite volumétrie . car les donnée sont stocké dans un tableau javascript coté client , attention à l'explosion de mémoire dans le navigateur.
    Autre possibilité ne travailler que sur les données visibles. Et faire une requête serveur à chaque fois que nécessaire pour rafraîchir la liste.
    Il est aussi possible de faire un peut des 2 avec un système de cache...
    Personnellement j'ai pas de réponse miracle, c'est vraiment au cas par cas en fonction du contexte que tu peux choisir ta solution. L'infrastructure matériel peut aussi joué, type de réseau,puissance machine si ton serveur est un peu faible vaut mieux diminuer le nombre de requête.


    Le passage par du XML n'est pas obligatoire l'avantage de GWT c'est que tu peut rester en objet. Mais sinon il existe un parser XML dans GWT donc tu peut envoyer ton flux XML directement à ton client et c'est coté client qu'il serait interprété.

    Citation Envoyé par sboober
    Désormais je peux tester tranquillement.

    Par contre, dans le même style, j'ai une autre question :
    notre serveur Web n'a pas tomcat, mais apache.. Comment faire ?

    Merci (surtout a Moritan pour son tut)
    En fait tomcat n'est pas un serveur WEB, mais un moteur de servlet, qui peut faire serveur WEB.
    L'idéal étant de mettre les page statique sur le serveur apache et le reste sur le tomcat.

    Pour simplifier tout ça il faut faire marcher le tomcat et le serveur apache ensemble. Il existe des tuto sur DVP qui expliquent ça.
    Mais en gros il faut déclarer un port ajp13 sur le tomcat dans le fichier server.xml. Coté apache déclaré aussi le port ajp13 par un worker dans le fichier worker.properties (original), et faire un point de montage dans ton fichier http.conf ou autre fichier inclus pour rediriger les requêtes vers le tomcat.

    Comme ça tout passe par le serveur apache et le serveur Tomcat est invisible autre avantage, si ton serveur tomcat est un peu limite tu peux en mettre plusieurs derrière le serveur apachet et ça très simplement et de manière transparente.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 34
    Points
    34
    Par défaut
    Pour la mise en place Apache tomcat, ça me semble assez chaud.

    En fait pour commencer je voulais faire quelque chose de tout simple:
    J'ai une base SQL serveur sur une machine (windows) qui contient par exemple plein d'info sur des personnes, le serveur web sur une autre (linux).

    Actuellement, en PHP, j'ai fait des formulaire pour saisir, modif, trier... des personnes.

    Je voudrais, pour decouvrir GWT, fair un peu la meme chose.

    Au debut je pensais faire des pages PHP qui genererais des fichiers XML en fonction de certaine requete. Et j'utiliserais GWT pour s'appuyer sur ces XML pour l'affichages.
    De même comme il ya peu d'information (ce n'est pas une base de plusieurs Go n'ont plus), carrement faire un XML qui comprendrait toutes les personnes et ne bosser que sur ce fichier avec GWT (pour eviter ainsi de faire plein de requetes)

    Mais comme je debute je ne sais pas si c'est une bonne solution.

    Le tut a repondu a pas mal de mes questions, mais comme je le disais c'est la récupération des infos qui me pose problème


    J'aimerais donc savoir si cette methose peut etre enviseagble ou non ?

    Peut etre que le couple GWT JSON pourrait mieux convenir a mes attentes ?

    Merci par avance

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 36
    Points
    36
    Par défaut
    j'ai tenté de suivre à la lettre vos recommandations pour déployer l'appli avec tomcat, en vain. Le tableau apparaît vide.

    J'ai l'arborescence suivante:
    webapps (de tomcat)
    < >|_ contactService
    < >< >|_ WEB-INF
    < >< >< >|_ classes (puis com/developpez...)
    < >< >< >|_ lib (contenant gwt-servlet.jar)
    < >< >< >|_ web.xml
    < >< >|_ www

    mon web.xml contient la même chose que ce que tu donnes dans ton tutoriel, sauf que j'y ajoute la définition de la grammaire pour que tomcat ne lève pas d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    et j'enlève les paramètres de la balise web-app sinon idem, erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
    dans les classes, j'ai bien le fichier contactService.gwt.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <module>
    	<!-- Inherit the core Web Toolkit stuff.                  -->
    	<inherits name='com.google.gwt.user.User'/>
     
    	<!-- Specify the app entry point class.                   -->
    	<entry-point class='com.developpez.exemple.gwt.client.MonApplication'/>
      	<stylesheet src='MonApplication.css'/>
      	 <servlet path="/contactService" class="com.developpez.exemple.gwt.server.ContactServiceImpl"/>
    </module>
    je sais que c'est un peu lourd comme post, mais je ne saisis vraiment pas où est le problème...

    Merci !

  10. #10
    Membre actif
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Points : 276
    Points
    276
    Par défaut
    Si ton tableau apparait vide mais que l'application fonctionne, alors il y a un probleme du coté RPC.

    Essai de rajouter le / avant contactService.

    Perso
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GWT.getModuleBaseURL() + "/contactService";
    Sinon, tu as creer ton war a la main pour le mettre dans tomcat ?
    Non, Vahid n'est pas mon prénom
    c' est gratuit , aussi

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 36
    Points
    36
    Par défaut
    où dois-je rajouter le slash ? dans quel fichier ?

    non, je n'ai pas fait de war. J'ai suivi au mot près ce tutorial
    quand ça marchera, je pourrai remettre un fichier de contexte pour travailler avec mon projet eclipse, plus proprement.
    En attendant, j'ai donc directement mon projet dans le dossier webapps de tomcat...
    any idea ?

  12. #12
    Membre actif
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Points : 276
    Points
    276
    Par défaut
    Le / se rajoute dans le fichier ContactsPanel.java. J'en ai un dans mes projets donc on sait jamais...

    Essai de ne pas mettre le dossier www dans contactService, mais directement son contenu
    Non, Vahid n'est pas mon prénom
    c' est gratuit , aussi

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par vahid Voir le message
    Essai de ne pas mettre le dossier www dans contactService, mais directement son contenu
    et ça ne risque pas de poser de problème vis à vis des fichiers générés ?

  14. #14
    Membre actif
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Points : 276
    Points
    276
    Par défaut
    non tu copie tout simplement les fichiers générés à la racine de ta webapp. Tu ne les supprimes pas, tu les déplace
    Non, Vahid n'est pas mon prénom
    c' est gratuit , aussi

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2006, 17h26
  2. [vb.net] [DesignMode] probleme d'affichage en mode design
    Par graphicsxp dans le forum Windows Forms
    Réponses: 5
    Dernier message: 10/02/2006, 11h28
  3. Réponses: 15
    Dernier message: 15/11/2005, 18h33
  4. [MFC] probleme d'affichage en mode explorer
    Par ryu20 dans le forum MFC
    Réponses: 2
    Dernier message: 11/02/2005, 21h33
  5. Probleme avec glutBitmapCharacter en mode Perspective
    Par killerjeff dans le forum OpenGL
    Réponses: 7
    Dernier message: 17/05/2004, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo