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

Servlets/JSP Java Discussion :

Problème de déploiement d'un war sur un réseau


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut Problème de déploiement d'un war sur un réseau
    [DISCUSSION DEPLACEE A PARTIR DU FORUM SUR LES WEB SERVICES]

    Bonjour, je dois déployer un war sur un serveur pour pouvoir ensuite y accéder et récupérer des données.

    J'utilise Eclipse et le plugin WTP, j'ai créé un exemple tout simple ou je dois récupérer des infos sur une personne. Je teste en localhost, ca marche très bien, j'exporte alors mon projet en war, et je le déploie sur un serveur, et la, ca ne marche plus

    La structure de mon projet est en pièce jointe.
    Images attachées Images attachées  

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    J'ai oublié de mettre le plus important, mon code

    Fichier Personne.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    package com.projet;
     
    import java.util.Enumeration;
    import java.util.Hashtable;
     
     
    public class Personne {
     
        private String nom, prenom, email;
     
        private static int courant = 1 ;
     
        private static Hashtable <String, Personne> listePersonne = new Hashtable<String, Personne>();
     
        static {
            Personne p1 = new Personne("Martin","Hervé","herve.martin@gmail.com");
            add(p1);
            Personne p2 = new Personne("Dupont","Pierre","pierre.dupont@hotmail.fr");
            add(p2);
            Personne p3 = new Personne("Durant","Paul","paul.durant@free.fr");
            add(p3);
            Personne p4 = new Personne("Lemeur","André","andre.lemeur@wanadoo.fr");
            add(p4);
            Personne p5 = new Personne("Delas","Christian","christian.delas@yahoo.fr");
            add(p5);
        }
     
        public Personne(String nom, String prenom, String email) {
            this.nom = nom;
            this.prenom = prenom;
            this.email = email;
        }
     
        public String getNom() {
            return nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        public String getPrenom() {
            return prenom;
        }
     
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
     
        public String getEmail() {
            return email;
        }
     
        public void setEmail(String email) {
            this.email = email;
        }
     
        public String getId() {
            Enumeration<String> myEnum = listePersonne.keys();
            while (myEnum.hasMoreElements()) {
                String myId = myEnum.nextElement();
                Personne courant = get(myId);
                if (courant == this) return myId;
            }
            return null;
        }
     
        public static String[]listIds() {
            Enumeration<String> myEnum = listePersonne.keys();
            int lg = listePersonne.size();
            String[] result = new String[lg];
            for (int i = lg-1; 0 <= i ; i--) {
                result[i] = myEnum.nextElement();
            }
            return result;
        }
     
        public static Personne get(String cle) {
            return listePersonne.get(cle);
        }
     
        static public void add(Personne p) {
            listePersonne.put("p"+courant,p);
            courant++;
        }
     
        static public void del(Personne p) {
            listePersonne.remove(p.getId());
            courant--;
        }
     
        public static void main(String[]args) {
            String[]ids = listIds();
            for (int i = 0; i < ids.length; i++) {
                System.out.println(ids[i]);
            }
        }
     
    }

    Fichier personne.jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%@ page language="java" contentType="text/xml; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ page import="com.projet.Personne" %>
    <?xml version="1.0" encoding="ISO-8859-1"?>
        <%
            String s = request.getParameter("personne");
               Personne p = Personne.get(s);
        %>
        <personne id="<%= p.getId() %>">
            <nom>"<%= p.getNom() %>"</nom>
            <prenom>"<%= p.getPrenom() %>"</prenom>
            <email>"<%= p.getEmail() %>"</email>
        </personne>
    Fichier formulaire.jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page import="com.projet.Personne" %>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        </head>
        <body>
            <h1>Chercher une personne</h1>
            <form action="personne.jsp" method="post">
                <div>Choisissez la personne que vous souhaitez visualiser</div>
                <select name="personne">
                    <optgroup>
                        <option value="p1"><%=Personne.get("p1").getNom()%></option>
                        <option value="p2"><%=Personne.get("p2").getNom()%></option>
                        <option value="p3"><%=Personne.get("p3").getNom()%></option>
                        <option value="p4"><%=Personne.get("p4").getNom()%></option>
                        <option value="p5"><%=Personne.get("p5").getNom()%></option>
                    </optgroup>
                </select>
                <input type="submit">
            </form>
        </body>
    </html>

    Fichier web.xml (ca j'y ai pas touché) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>Test</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    c'est bizarre d'ailleurs ce fichier, j'ai pas de fichier index ou default...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    J'ai trouvé la source du problème, c'est l'import de la classe Personne.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="com.projet.Personne" %>
    qui se fait très bien quand je teste en local sous Eclipse+Tomcat, mais qui ne marche plus sur un serveur

    En effet, j'ai fait le meme fichier jsp sans importer la classe personne, en mettant des string au lieu de cherchez les infos d'une personne et ca marche très bien sur le serveur, donc en fait le problème vient de la configuration de mon application, comment faire pour qu'une fois le fichier war créé, le lien vers Personne.java ne soit pas perdu ?

    Si une ame charitable pourrait me venir en aide, merci

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par oca Voir le message
    Une fois le war généré, tu n'as plus besoin des fichiers source comme Personne.java.

    Il faut par contre que ton war contienne le fichier Personne.class

    Au fait, quelle erreur est-ce que tu as exactement ?

    [au fait]
    ce problème n'est pas directement lié aux web services... tu auras peut-être plus de réponses dans un forum mieux ciblé comme http://www.developpez.net/forums/forumdisplay.php?f=298
    [/au fait]

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    oui oca, lorsque j'exporte le projet dans un war, il ne contient que le WebContent, c'est pour ca que j'ai mis le Personne.class dans le WEB-INF, comme tu peux le voir dans mon 1er post.

    Par contre, quand je teste en local sous Eclipse, je fais l'import sur la classe java présente dans les ressources Java qui sont en dehors du WebContent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="com.projet.Personne" %>
    Donc c'est normal que cet import la ne marche pas une fois le war créé, mais je ne sais pas quel chemin mettre a la place, j'ai essayé betement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="WEB-INF.classes.com.projet.Personne" %>
    mais ca marche pas...

    Sinon ben l'erreur que j'ai, quand j'accède à la classe formulaire.jsp par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://IPduServeur:8080/Test/formulaire.jsp
    j'ai une erreur 404 sous IE, et une page blanche sous Firefox

    et ca ne vient pas d'un problème de serveur, car j'ai fait la meme page jsp mais sans import et ca marche très bien.

    je vais suivre ton conseil et mettre ce sujet dans le forum JSP (j'avais hésité ), j'ai pas l'impression qu'on puisse déplacer le topic, donc je le mets en double, comme ca j'aurais 2 fois plus de monde qui viendront m'aider

  6. #6
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Citation Envoyé par nono35 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="WEB-INF.classes.com.projet.Personne" %>
    mais ca marche pas...
    Houps... c'était mieux avant... remet "com.projet.Personne"


    Citation Envoyé par nono35 Voir le message
    Sinon ben l'erreur que j'ai, quand j'accède à la classe formulaire.jsp par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://IPduServeur:8080/Test/formulaire.jsp
    j'ai une erreur 404 sous IE, et une page blanche sous Firefox

    et ca ne vient pas d'un problème de serveur, car j'ai fait la meme page jsp mais sans import et ca marche très bien.
    Bizarre ça... une erreur 404 veut dire qu'il ne trouve pas ta page !
    si tu avais une erreur dans ta page, tu aurais une erreur 500

    Le mieux est de voir ce que dit le log de tomcat.
    A mon avis, tomcat n'arrive pas à démarrer ton appli.
    tu devrais trouver un stacktrace dans le log de démarrage de tomcat.

    A+

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par oca Voir le message
    Bizarre ça... une erreur 404 veut dire qu'il ne trouve pas ta page !
    si tu avais une erreur dans ta page, tu aurais une erreur 500

    Le mieux est de voir ce que dit le log de tomcat.
    A mon avis, tomcat n'arrive pas à démarrer ton appli.
    tu devrais trouver un stacktrace dans le log de démarrage de tomcat.

    A+
    oui en effet c'est bizarre, mais pourtant ca doit pourtant bien etre une erreur dans la page, car comme j'ai dit plus haut, j'ai fait exactement la meme classe, sous un autre nom, sans "import", et j'arrive a accéder à la page jsp.

    sinon, je sais pas si je l'ai précisé, mais je suis débutant en web service, j'y connais pas grand chose, donc je ne vais pas te faciliter la tache dsl lol

    je ne sais pas ou voir les logs de tomcat, le tomcat est hébergé sur le serveur distant, la seule intéraction que j'ai avec ce serveur c'est par le navigateur, comment on fait pour voir le stacktrace ? et d'ailleurs c'est quoi ca ?

    merci encore pour ton aide oca, je me sens moi seul dans ma galère ^^

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    J'ai regardé les war qui étaient déjà sur le réseau, et ils ont tous un "Deployment Descriptor" comme on peut le voir sur la capture d'écran :


    c'est normal que moi j'en n'ai pas de ce machin la ? d'ailleurs c'est quoi ce truc ?
    Images attachées Images attachées  

  9. #9
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    C'est une vue du fichier web.xml qui doit se troufver dans ton repertoire WEB-INF, et qui decrit les element de ton application web (servlet, filtre, listner ...)
    A+

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    le fichier web.xml je l'ai dans WEB-INF :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>Test</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    par contre j'ai rien modifié dans ce fichier, c'est peut-etre pour ca que j'ai pas le deployment descriptor ? ca se trouve c'est dans ce fichier qu'il manque des trucs

  11. #11
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    J'ai fait une petite démo flash, voila comment je m'y prend :
    http://picshell.ovh.org/demo/web.htm
    A+

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    merci pour ta démo oca, c'est exactement ce que je fais, a part que j'utilise Tomcat 6, le problème après c'est juste pour le déployer sur un serveur web quand il y a des import a gérer...

    par contre, vu que ca ne marche pas sur le serveur sur lequel je veux le mettre, est-ce qu'il y a une manip a faire pour accéder aux pages jsp a partir d'un autre ordinateur ou est-ce que remplacer localhost par l'adresse ip de mon ordi suffit ?

  13. #13
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Citation Envoyé par nono35 Voir le message
    est-ce que remplacer localhost par l'adresse ip de mon ordi suffit ?
    En principe cela suffit.
    Sinon est-ce que tu as essayé d'exporter ton war depuis éclipse, puis de l'installer sur un server tomcat en local sur ton poste (comme cela tu pourras voir le log des erreurs)

    A+

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    oki merci pour ta réponse rapide oca par contre je suppose que l'ordi auquel je dois accéder doit etre allumé avec tomcat lancé ?

    Citation Envoyé par oca Voir le message
    En principe cela suffit.
    Sinon est-ce que tu as essayé d'exporter ton war depuis éclipse, puis de l'installer sur un server tomcat en local sur ton poste (comme cela tu pourras voir le log des erreurs)

    A+
    ah oui tiens pas bete oca, j'ai meme pas pensé a ca, j'essaye et je te donne des nouvelles

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    bon j'ai essayé d'y accéder a partir d'un autre ordi et ca marche très bien, donc ca vient du serveur sur lequel j'installais l'appli, merci encore oca

    si j'ai d'autres problèmes je saurais a qui demander

Discussions similaires

  1. Problème de déploiement d'un war sur glassfish
    Par shadowdiablo dans le forum Glassfish et Payara
    Réponses: 5
    Dernier message: 27/04/2011, 11h45
  2. Déploiement d'un war sur un glassfish distant
    Par jsebfranck dans le forum Maven
    Réponses: 0
    Dernier message: 04/11/2008, 18h40
  3. Problème de déploiement d'un war sur un réseau
    Par nono35 dans le forum Services Web
    Réponses: 5
    Dernier message: 30/05/2008, 11h09
  4. Erreur déploiement d'un WAR sur JBoss (fonctionne sur Tomcat)
    Par elitost dans le forum Wildfly/JBoss
    Réponses: 8
    Dernier message: 24/11/2006, 13h08
  5. Problème de déploiement d'un JCA sur Jboss4
    Par r_washu dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 22/06/2006, 09h38

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