:: Enseignements :: Licence :: L3 :: 2009-2010 :: Programmation Objet avec Java ::
[LOGO]

HTTP et parseur XML


Exercice 1 - HTTP

Le but de cet exercice est d'obtenir une réponse suite à une requète HTTP.

  1. Utiliser la classe URL pour créer une URL sur la page web suivante: http://twitter.com/users/show.xml?user_id=1401881.
  2. Ouvrir une connection et récupérer le flux de sortie (le contenu) de la page Web. Vous afficherez le contenue ligne à ligne.
  3. A quoi sert la méthode close d'un scanner. Pourquoi cette méthode est importante ?
  4. Modifier votre code pour que la connection soit fermée quoi qu'il arrive.

Exercice 2 - Parseur XML

Le but de cet exercice est d'extraire des informations d'une réponse suite à une requète HTTP. Il existe 3 spécifications permettant le parsing XML : SAX, DOM et StaX. Nous utiliserons ici la specification SAX.

  1. Que représente la classe java.xml.parsers.SAXParserFactory ? Comment créer un objet de ce type ?
  2. A quoi sert la méthode setNamespaceAware() ?
  3. Comment fait on pour créer un parseur SAX à partir d'un objet de type SAXParserFactory ?
    Comment doit-on gérer les exceptions ?
  4. A quoi sert la classe org.xml.sax.helpers.DefaultHandler ?
    A quoi servent les méthodes startElement() et endElement() de l'interface org.xml.sax.ContentHandler ?
  5. Ecrire une classe qui hérite de DefaultHandler et redéfini le méthodes startElement() et endElement() pour afficher les informations obtenues.
  6. Parser le contenue de la page web http://twitter.com/users/show.xml?user_id=1401881 à l'aide du DefaultHandler de la question précédente.
  7. Modifier votre DefaultHandler pour créer un objet User contenant uniquement le contenu des balises name, location et protected (typé correctement) et utiliser le avec l'utilisateur 1401881 ou d'autres utilisateurs.
    Note: voici la description des balises possibles http://apiwiki.twitter.com/Return-Values.