Formation Java avancée avec exercices

1 Recevoir et emettre des données simples
1.1 Comment recuperer une page Web
1.2 Socket : l’objet qui permet de manipuler une connexion
1.3 Que faire en cas d’erreur ?
1.4 Exemple d’exception
1.5 Bien exploiter les exceptions
1.6 Hierarchie des exceptions
2 JDBC 2.1 Presentation
2.2 Se connecter a la base de données
2.3 Envoyer une requete
2.4 Afficher les resultats
2.5 Liberer les ressources
2.6 Requetes repetitives
3 XML
3.1 But
3.2 Rappel sur XML
3.3 Obtenir la racine du document
3.4 Informations sur un noeud
3.5 Informations sur la descendance d’un noeud
4 Exercices

Recevoir et  emettre des données simples

Le but de cette partie est d’ecrire un petit programme java qui va chercher une page donnée sur le Web.
Comment recuperer une page Web
Pour récupérer la page correspondant  a l’adresse http://www.yahoo.com, il faut suivant le protocole http:
• se connecter sur le port 80 de la machine www.yahoo.com
• envoyer la suite de caract`eres:
GET / HTTP/1.1
Host: www.yahoo.com:80
suivit d’une ligne vide.
Socket : l’objet qui permet de manipuler une connexion
L’objet Java qui permet de manipuler une connexion est java.net.Socket. Pour ouvrir une connexion sur le port 80 de la machine www.yahoo.com, il faut initialiser la socket avec la séquence :
Socket socket = new Socket (« www.yahoo.com », 80);
Pour envoyer des caractères on peut récupérer un objet de type java.io.PrintWriter:
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(« Chaine a envoyer »);
Que faire en cas d’erreur ?
Quand on communique avec une autre machine beaucoup d’incidents peuvent se produire : la machine distante peut etre eteinte a ce moment, le reseau peut etre saturé, la carte reseau peut tomber en panne.
Dans la documentation Java on remarque que le prototype du constructeur Socket est:
public Socket(InetAddress address, int port) throws java.io.IOException la clause throws IOException signifie que la séquence d’instruction:
Socket socket = new Socket (« www.yahoo.com », 80);
peut créer une anomalie (exception en anglais) qui sera une instance de la class java.io.IOException.
Exemple d’exception
Les exception en Java ont le sens suivant:
Essaye la commande new Socket … en cas d’erreur de type java.io.IOException alors fait telle ou telle action.
La syntaxe utilisée est la suivante:

try {
Socket socket = new Socket ("www.yahoo.com", 80);
} catch (java.io.IOException e) {
// une erreur c’est produite, le signaler !
System.err.println("erreur de type I/O");
}

Bien exploiter les exceptions
Quand une exception de type java.io.IOException est recuperée par une instruction catch on dispose de plusieurs informations qui peuvent etre exploitées, principalement une description de l’erreur obtenue en invoquant la méthode getMessage et l’endroit ou l’erreur s’est produite en invoquant printStackTrace.
Considérons le programme suivant:

class ServerError {
public static void essayeLaConnexion() {
try {
java.net.Socket socket =
new java.net.Socket ("www.serveurquinexistepas.com", 80);
} catch (java.io.IOException e) {
// une erreur c’est produite, le signaler !
System.err.println(e.getMessage());
e.printStackTrace();
}
}
public static void main(String[ args) {
essayeLaConnexion();
}
}

…..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Formation Java (138 KO) (Cours PDF)
Formation Java

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *