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 :

[JSP] Parsing XML avec JDOM


Sujet :

Servlets/JSP Java

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 50
    Par d�faut [JSP] Parsing XML avec JDOM
    salut � tous,
    voil� j'ai un programme .java qui marche en mode console lorsque je lui passe en argument un fichier .xml form�. j'aimerai adapter mon code pour le transformer en une page jsp sur un serveur websphere.

    voici le code du programme 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
    import java.io.*;
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.filter.*;
    import java.util.List;
    import java.util.Iterator;
     
     
    public class JDOM2
    {
       static org.jdom.Document document;
       static Element racine;
     
     
    static void afficheALL()
    {
     
       List listEtudiants = racine.getChildren("etudiant");
     
       Iterator i = listEtudiants.iterator();
       while(i.hasNext())
       {
     
          Element courant = (Element)i.next();
          System.out.println(courant.getChild("nom").getText());
       }
    }
       public static void main(String[] args)
       {
          SAXBuilder sxb = new SAXBuilder();
          try
          {
             document = sxb.build(new File("test2.xml"));
          }
          catch(Exception e){
          System.out.println("cause : "+e.getMessage());
          }
     
          racine = document.getRootElement();
     
          afficheALL();
       }
    }
    j'ai d�j� fais qq modifs pour transformer �a en une page jsp mais je ne m'y connait pas bien et j'aimerai qq coups de main, pour l'instant le code suivant ne marche pas, je n'ai pas de message d'erreur, il ne veut tout simplement pas afficher la page alors que mes autres pages jsp fonctionnent :

    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
    <!-- parse.jsp -->
     
    <%@ page import="java.io.*"%>
    <%@ page import="org.jdom.*"%>
    <%@ page import="org.jdom.input.*"%>
    <%@ page import="org.jdom.filter.*"%>
    <%@ page import="java.util.List"%>
    <%@ page import="java.util.Iterator"%>
     
    <%
       org.jdom.Document document = new org.jdom.Document();
       Element racine = new Element();
       
       SAXBuilder sxb = new SAXBuilder();
       try
         {
            document = sxb.build(new File("test2.xml"));
         }
         catch(Exception e){
         out.println("cause : "+e.getMessage());
         }
     
        racine = document.getRootElement();
        List listEtudiants = racine.getChildren("etudiant");
     
        Iterator i = listEtudiants.iterator();
        while(i.hasNext())
        {
         Element courant = (Element)i.next();
         out.println(courant.getChild("nom").getText());
        }
    %>
    test2.xml est bien form� comme suit :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <personnes>
       <etudiant classe="P2">
          <nom>CynO</nom>
          <prenoms>
             <prenom>Nicolas</prenom>
             <prenom>Laurent</prenom>
          </prenoms>
       </etudiant>
       <etudiant classe="P1">
          <nom>Superwoman</nom>
       </etudiant>
       <etudiant classe="P1">
          <nom>Don Corleone</nom>
       </etudiant>
    </personnes>
    merci d'avance

  2. #2
    Membre chevronn�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par d�faut
    Bonjour,

    ce fut un peu laborieux mais j'ai finis par le faire marcher ton exemple !


    1 - Attention au chemin de la librairie jdom.jar qui doit �tre contenue dans ton projet web.

    2 - La ligne suivante pose probl�me

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Element racine = new Element();
    Les jsp (comme beaucoup d'autres API) ont besoin d'un constructeur public or
    "new Element()" est protected. C'est pas grave tu n'as pas besoins d'instancier ton element racine
    3 - Attention � l'emplacement de ton fichier "test2.xml"
    ce qui marche pour un programme console ne marche pas dans une page jsp.
    [code]new File("test2.xml")[code]

    je te conseille de passer le chemin absolu du fichier (parametre en session).

    PS : je suis surpris que tu n'aie pas d'erreurs lors de la compilation de la JSP. As tu v�rifi� les logs du serveur ?

  3. #3
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 50
    Par d�faut
    merci pour ton aide, j'avais effectivement vu pour le protected mais je ne savais pas comment instancier en jsp, maintenant je sais
    effectivement le fait de ne pas avoir d'erreurs � l'�xecution est bizarre, au lieu de �a j'avais un "page cannot be displayed". mais mon serveur wensphere fait des siennes en ce moment... �a marche 1 fois sur 3, peux tu me dire, si tu t'y connais en websphere, si mes .jar (jdom...) doivent se trouver seulement dans WEB-INF/lib/ de mon repertoire d'appli ou ailleurs ? car mes probl�mes semblent venir d'ici.
    merci encore pour le coup de pouce

  4. #4
    Membre chevronn�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par d�faut
    je n'avais pas r�alis� que tu utilisais Websphere.

    Websphere fournit une version de la librairie qui doit se trouver sous "$WEBSPHERE_HOME/lib". Tu n'as donc pas besoin de l'int�grer � ton projet.

    V�rifie la version de la librairie dans ce r�pertoire.

  5. #5
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 50
    Par d�faut
    Citation Envoy� par Pietra
    je n'avais pas r�alis� que tu utilisais Websphere.

    Websphere fournit une version de la librairie qui doit se trouver sous "$WEBSPHERE_HOME/lib". Tu n'as donc pas besoin de l'int�grer � ton projet.

    V�rifie la version de la librairie dans ce r�pertoire.
    je n'ai pas de jdom.jar dans ce repertoire :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    /opt/WebSphere/AppServer/lib> ls j*
    j2ee.jar  j2ee-validation.jar  j2eexml-xerces.jar  js.jar  jsp.jar  jts.jar
    pour info j'ai cette version :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    WebSphere Application Server, Advanced Single Server Edition V4.0
    Application Server Launcher
    Copyright (C) IBM Corporation, 2001

  6. #6
    Membre chevronn�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par d�faut
    d'accord c'est un anc�tre

    Donc dans WEB-INF/lib ca devrait suffire (v�rifie quand m�me s'il n'y as pas une autre version qui tra�ne)

  7. #7
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 50
    Par d�faut
    Citation Envoy� par Pietra
    d'accord c'est un anc�tre

    Donc dans WEB-INF/lib ca devrait suffire (v�rifie quand m�me s'il n'y as pas une autre version qui tra�ne)
    d'accord c'est bien ce que j'ai fais, tant que j'ai une experte WebSphere sous la main , peux tu me dire si je dois mettre ces .jar dans $WEBSPHERE_HOME/java/jre/lib/ car je compte utiliser les javabean et j'ai donc besoin de pouvoir compiler des fichiers avec le jdk de WebSphere...est ce nec�ssaire d'�diter le $CLASSPATH du serveur linux aussi pour qu'il pointe vers ces fichiers jar install�s dans WebSphere ?

  8. #8
    Membre chevronn�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par d�faut
    peux tu me dire si je dois mettre ces .jar dans $WEBSPHERE_HOME/java/jre/lib/
    C'est une "bonne pratique" de mettre les librairies externes dans le r�pertoire lib de la jre mais cela ne dispense pas d'une modification du classpath.

    Car je compte utiliser les javabean et j'ai donc besoin de pouvoir compiler des fichiers avec le jdk de WebSphere
    Je ne comprends pas tout mais je suppose que tu va utiliser la librairie jdom.jar en dehors de ton appli web. Dans ce cas tu peux effectivement modifier le classpath de ton serveur pour que toutes les applications en b�n�ficie.

    ...est ce nec�ssaire d'�diter le $CLASSPATH du serveur linux aussi pour qu'il pointe vers ces fichiers jar install�s dans WebSphere ?
    Oui Cf. plus haut

    PS : je ne suis pas expert Websphere (et encore moins "experte")

  9. #9
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 50
    Par d�faut
    Citation Envoy� par Pietra
    PS : je ne suis pas expert Websphere (et encore moins "experte")
    d�sol� tu as un nom de jeune femme russe

    pour ce qui est des javabean, c'est pour les utiliser avec WebSphere mais �a passe n�cessairement par une compilation avant de pouvoir les utiliser.
    j'ai une autre question aussi, le CLASSPATH de mon environnement linux et le CLASSPATH de Websphere sont ils 2 choses s�par�es ? si je renseigne celui de linux par un : export CLASSPATH=... �a ne sera pas pris en compte par WebSphere ?
    merci

  10. #10
    Membre chevronn�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par d�faut
    il faudrait v�rifier mais il me semble que Websphere mais aussi Tomcat r�definissent la variable d'environnement CLASSPATH.

    Websphere pour utiliser les versions des librairies fournie avec le serveur.
    Tomcat pour simplifier son utilisation.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. HttpClient et parsing XML avec JDom
    Par dawadam dans le forum Android
    R�ponses: 4
    Dernier message: 07/03/2011, 14h36
  2. HttpClient et parsing XML avec JDom
    Par dawadam dans le forum Format d'�change (XML, JSON...)
    R�ponses: 2
    Dernier message: 05/03/2011, 10h38
  3. [SAX] Recuperer le resultat d"un parsing XML avec SAX
    Par chouxe dans le forum Format d'�change (XML, JSON...)
    R�ponses: 1
    Dernier message: 19/12/2006, 15h48
  4. [JDOM] Cr�ation d'un fichier xml avec jdom
    Par fabricew59 dans le forum Format d'�change (XML, JSON...)
    R�ponses: 4
    Dernier message: 09/08/2006, 11h17
  5. [SAX] Erreur de parsing XML avec SAX
    Par philobedo dans le forum Format d'�change (XML, JSON...)
    R�ponses: 8
    Dernier message: 02/08/2006, 13h49

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