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][WEB] recuperer le contenu d'une page web


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [JSP][WEB] recuperer le contenu d'une page web
    Bonjour,
    J'aimerais juste qu'on me mette sur la voie ... Je dois recuperer en JSP le contenu d'une page web pour les traiter et les ranger dans un tableau ... je pense qu'il faut utiliser les classes de la famille java.net.URL et ce genre de choses ...

    Je voudrais faire pareil que le "get external data > web query" de EXCEL pour ceux qui connaissent. Si vous connaissez des astuces ou si vous avez des conseils .... je suis preneur !

    Un grand merci a tous
    Ypikahe

  2. #2
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Y a pas de soucis tu es sur la bonne voie .
    Voici un exemple :

    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
     
            StringBuffer      dataBuffer      = new StringBuffer();
            String            line            = null;
            URL               feedUrl         = null;
            HttpURLConnection feedConnection  = null;
            BufferedReader    buffIn          = null;
     
            // On precharge le contenu, on ne sait jamais...
            contenu = " ";
     
            StringBuffer   sb = new StringBuffer(property.getProperty("ComposantWeb.param.urlHeader")).append(url).append("?");
     
            // a-t-on defini des paramètres associés à ce composant dans la base ?
            if (param != null)
            {
                sb.append(param).append("&");
            }
     
            sb.append("appelant=t&exComposantAAppeler=").append(nomDuComposant);
     
            // a-t-on passé des params pour ce composant ?
            if (paramQuery != null)
            {
              sb.append("&").append(paramQuery);
            }
     
            logWriter.log(className,"Composant "+nom+", URL à charger : "+sb.toString(), LogWriter.DEBUG);
     
            try
            {
     
                feedUrl = new URL(sb.toString());
                //System.setProperty("sun.net.client.defaultReadTimeout","30000");
                // ouverture de la connection au serveur
                feedConnection = (HttpURLConnection) feedUrl.openConnection();
     
                // creation d'un flux de lecture des donnees du serveur
                buffIn = new BufferedReader(new InputStreamReader(feedConnection.getInputStream()));
     
                while ((line = buffIn.readLine()) != null)
                {
     
                    dataBuffer.append(line);
                }
     
                // fermeture explicite du buffer de lecture
                buffIn.close();
                // fermeture explicite de la connexion HTTP
                feedConnection.disconnect();
                contenu = dataBuffer.toString();
            }
            catch (java.net.MalformedURLException e)
            {
                contenu = " ";
                logWriter.log(e,className, "URL " + sb.toString() + " invalide.", LogWriter.ERROR);
            }
            catch (java.io.FileNotFoundException e)
            {
                contenu = " ";
                logWriter.log(e,className, "Impossible de se connecter à "+sb.toString(), LogWriter.ERROR);
            }
            catch (java.io.IOException e)
            {
                contenu = " ";
                logWriter.log(e,className, "Impossible de se connecter à "+sb.toString(), LogWriter.ERROR);
            }
            catch (java.lang.Exception e)
            {
                contenu = " ";
                logWriter.log(e,className, "Erreur inconnue : "+sb.toString(), LogWriter.ERROR);
            }
    Voili, voilou,
    8) 8)

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut tres complet
    dis donc, c'est tres complet ....
    merci pour ton aide, je vais essayer tout de suite ...

    Ypikahe

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Salut ZeKid,
    J'ai essaye le code que tu m'as donne ... en nettoyant un peu comme t'as dit mais j'ai un petit probleme ... Je ne lit rien !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    InputStream  fluxFichier = connexion.getInputStream();
    // Lecture du contenu du flux d'entrée
    byte contenuFichier[ ] = new byte [connexion.getContentLength()];
    texteRead= new String(contenuFichier);
    quand je recupere texteRead ensuite, il n'y a rien dedans !!

    Voici l'adresse sur laquelle j'ai fait mon test : www.esil.univ-mrs.fr/~gpetitdi/
    Tu verras qu'il n'y a qu'un "Voici ma page ... elle te plait ?"

    Je ne comprends pas pourquoi ma variable ne recupere pas cette phrase ?

    merci pour ton aide
    Ypikahe

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Si c que çà que tu as fait c normal.
    Tu dois ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fluxFichier.read(contenuFichier);
    Après ta déclaration de contenuFichier. C'est ce qui va remplir ton tableau.
    Sinon tel que tu as fait, tu ne fais que l'instancier et tu ne le remplit pas.

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut

    Merci pour ton aide ZeKid, ca fonctionne tres bien maintenant !
    Ypikahe

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 59
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par ZeKiD Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
            StringBuffer   sb = new StringBuffer(property.getProperty("ComposantWeb.param.urlHeader")).append(url).append("?");
    ...
    Salut,
    Ce sujet m'intéresse, mais j'ai pas compris cette ligne de code.
    D'où vient property ? Et a quoi sert property.getProperty("ComposantWeb.param.urlHeader")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/10/2006, 13h26
  2. recuperer le contenu d'une page web
    Par firejocker dans le forum MFC
    Réponses: 26
    Dernier message: 11/10/2005, 17h27
  3. copier le contenu d'une page web dans un fichier texte
    Par wassila dans le forum C++Builder
    Réponses: 30
    Dernier message: 28/08/2005, 22h27
  4. Réponses: 2
    Dernier message: 16/07/2004, 09h30
  5. [JSP][Debutant]recuperer un objet d'une page a l'autre
    Par zozolh2 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 17/05/2004, 10h25

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