Son ex´ecution donne l’affichage suivant:
www.serveurquinexistepas.com
java.net.UnknownHostException: www.serveurquinexistepas.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at ServerError.essayeLaConnexion(ServerError.java:4)
at ServerError.main(ServerError.java:13)
Ceci nous permet tout de suite de savoir que l’erreur s’est produite `a la ligne 4 dans la m´ethode essayeLaConnexion qui
´etait appel´ee par main `a la ligne 13.
1.6 Hi´
erarchie des exceptions
Les exception ´etant des objets Java comme les autres, ils ont donc leur propre hi´erarchie d’h´eritage. En effet dans l’exemple
pr´ec´edent l’erreur lev´ee n’est pas java.io.IOException mais: java.net.UnknownHostException nous indiquant
que le serveur www.serveurquinexistepas.com n’existe pas.
La documentation Java nous donne la hi´erarchie suivante:
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.net.UnknownHostException
Ainsi le sens de la commande catch(IOException e) est : rattrape toute exception de type IOException ou d’un type
h´erit´e.
2 JDBC
2.1 Pr´
esentation
Au sein du syst`eme d’information d’une entreprise enorm´ement de donn´ees sont stok´ees. Elles le sont g´en´eralement sous forme
de base de donn´ees relationnelles.
Il existe ´egalement des bases de donn´ees objet, c’est `a dire o`u l’on peut directement charger des objets java de la base vers
l’application. Ce type base se d´eveloppe mais reste encore marginal au sein des syst`emes d’informations.
JDBC est l’interface java pour acc´eder aux bases de donn´ees relationnelles. Chaque base doit proposer son driver JDBC qui
permet d’y acc´eder. Quelque soit la base, le driver JDBC se manipule de la mˆeme mani`ere.
2.2 Se connecter `
a la base de donn´
ees
Nous prendrons l’exemple de mysql www.mysql.com une base de donn´ees open source r´epandue. Les drivers JDBC sont
t´el´echargeable `a l’url : http://dev.mysql.com/downloads/connector/j.
Pour se connecter `a la base il faut tout d’abord charger le driver fourni par Mysql.
Ceci s’effectue par le code suivant:
Class.forName("com.mysql.jdbc.Driver");
Pour obtenir une connexion sur la base il faut alors utiliser la class java.sql.DriverManager:
java.sql.Connection conn =
java.sql.DriverManager.getConnection
("jdbc:mysql://localhost/nomdemabase?user=monlogin&password=motdepasse");
La chaˆıne de caract`eres apr`es jdbc:... est g´en´eralement assez d´ependante de la base de donn´ee, et n’est valable ici que pour
mysql. Ici on se connecte sur la machine locale (localhost), `a la base nomm´ee nomdemabase sous le nom monlogin
avec le mot de passe motdepasse ´ecrit en clair dans le fichier.
Java avanc´
e - cours 1 3/8