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 :

acceder à un fichier xml depuis une jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut acceder à un fichier xml depuis une jsp
    Salut,

    J'arrive pas à acceder à un fichier xml depuis ma JSP en donnant le chemin relatif du fichier: J'ai une classe GesXmlFile pour attaquer le fichier xml fzone.xml. voici un extrait du code
    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
     
    package mybeans;
    .
    .
    .
    public void lireFichier()
     {
      SAXBuilder sxb = new SAXBuilder(); // utilitaire pour parser le fichier
      try
        {
          // création du document JDOM à partir du fichier xml
          docJDOM = sxb.build(new File ("fzone.xml"));
        }
        catch(Exception e){}
     
        // initialisation de la racine du document JDOM
        racine = docJDOM.getRootElement();
     }
    .
    .
    .
    Depuis ma jsp, je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:useBean id="GXF" class="mybeans.GesXmlFile" scope="page"/>
    et quand j'essaye d'executer la methode lireFichier() depuis la jsp, j'ai
    java.lang.NullPointerException
    mybeans.GesXmlFile.lireFichier(GesXmlFile.java:36)
    mybeans.GesXmlFile.<init>(GesXmlFile.java:21)
    .
    .
    .
    mais si je donne le chemin absolu du fichier (D:\documents\appweb\serveurdns\WEB-INF\classes\mybeans\fzone.xml) ça marche.

    Le fichier xml est dans \WEB-INF\classes\mybeans où mybeans est le package de GesXmlFile.java
    J'ai essayer de sortir mon fichier xml de WEB-INF et j'ai modifié comme ceci la methode lireFichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     try
        {
          // création du document JDOM à partir du fichier xml
          docJDOM = sxb.build(new File ("../../../fzone.xml"));
        }
        catch(Exception e){}
    mais ça ne marche . Merci d'avance pour l'aide.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 71
    Points : 77
    Points
    77
    Par défaut
    Salut,

    Contrairement à ce que tu dis, dans ton code, le chemin du fichier xml n'est pas absolu.

    Le problème pourrait bien venir de là.

    @+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 71
    Points : 77
    Points
    77
    Par défaut
    Salut,

    Pour trouver le chemin absolu de ton appli, utilise cette méthode de l'objet ServletContext :

    http://java.sun.com/j2ee/1.4/docs/ap...va.lang.String)

    Tu fais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // ctxt a été initialisé avant
    String cheminRacine = ctxt.getRealPath("/");
    String cheminFichierXml = cheminRacine + "/WEB-INF/classes/mybeans/fzone.xml"
    Remarque : Il me semble que l'interface Servlet a une méthode nommée getServletContext() pour récupérer le.... ServletContext !

    @+

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String filename="mybeans/fzone.xml" ;
    ClassLoader classLoader = getClass().getClassLoader();
    File fXml = new File(classLoader.getResource(filename).getFile());
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    Merci à tous.
    c_nyv, j'ai utilisé votre code et ça marche. Vous pouvez m'expliquer un peu tout ça? Merci!!!
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Regarde ici, tu y trouveras des explications sur la classe ClassLoader et ses méthodes, comme getResource.
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    Merci encore.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  8. #8
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    salut,

    On m'a conseillé d'enlever mon fichier xml du repertoire classes de l'application web. je l'ai donc mis ici: racine_application/res/divers/fzone.xml

    j'essaye d'utiliser les ../../ (dans le bean) pour sortir du repertoire WEB-INF mais lorsque j'execute la jsp, j'ai un NullPointerException.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String filename = "../../res/divers/fzone.xml
    J'ai utilisé la methode de derek.mf (merci encore ), et ça marche. Mais je voudrais quand même savoir s'il n'est pas possible d'accèder à un fichier en dehors de WEB-INF depuis un bean (qui se trouve dans classes)?

    Merci.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

Discussions similaires

  1. parsser un fichier xml via une jsp
    Par fruwen7 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 21/06/2012, 12h57
  2. générer un fichier xml depuis une table avec data integrator BO
    Par explorateur dans le forum Alimentation
    Réponses: 0
    Dernier message: 19/01/2010, 15h22
  3. lire dans un fichier xml depuis une tâche ant
    Par wildmary dans le forum ANT
    Réponses: 7
    Dernier message: 03/08/2009, 13h51
  4. fichier xml dans une jsp
    Par mystro7200 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/02/2009, 19h24
  5. utilisation d'un fichier xml dans une page jsp
    Par thesorrow dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/03/2007, 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