# Java > Dveloppement Web en Java > Servlets/JSP >  erreur http 500 sur un servlet

## 2tsiris

Bonjour, j'ai cre un servlet qui affiche le contenu d'une table d'une base de donne mysql.
le problme est que la page retourne de ma servlet ne s'affiche pas :

*Etat HTTP 500 -* 

*type* Rapport d'exception
*message* 
*description* Le serveur a rencontr une erreur interne () qui l'a empch de satisfaire la requte. 
*exception* 
java.lang.NullPointerException     Servlet1.doGet(Servlet1.java:52)     javax.servlet.http.HttpServlet.service(HttpServlet.java:689)     javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
*note* La trace complte de la cause mre de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.16.




```

```

 
.html


```

```



Quelqu'un sait-il ou se trouve l'erreur ?

----------


## 2tsiris

Le problme provient de la connection  la base de donnes.car le servlet fonctionne sans la connection  la base de donnes.Je ne vois pas o est l'erreur vu que le programme fonctionne parfaitement dans une de mes applications sous jbuilder 6 personal.

----------


## alexismp

> a trace complte de la cause mre de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.16.

Le fichier de log de tomcat serait le bienvenu (ou au moins les numros de ligne de ta ligne).

----------


## Laurent.B

Tu catches tes exceptions sans rien y mettre dedans et tu ne vrifies pas si ta connexion est diffrente de null... donc c'est normal que a plante si la connexion n'est pas ok.

----------


## 2tsiris

Bonsoir,
Aprs avoir fait un pas  pas, en faite il n'arrive pas  se connecter  la base de donnes !!
la ligne qui pose apparemment problme est :
*catch (SQLException e) {*

la voici dans le contexte :


```

```

.println ("Connection a la base de donnees impossible");
}
 ::help::

----------


## Laurent.B

Non, ce n'est pas *catch (SQLException e) {* qui pose problme, c'est parce qu'il y a un problme dans ta chane de connexion  la bdd. Le libell "test_java" qui ne correspond peut-tre pas  ta source de donnes odbc...
Enfin l il est difficile de t'aider si tu n'a pas correctement configur ta source.
Tu t'es inspir de quoi pour faire tout cela?

----------


## 2tsiris

non je ne pense pas que ce soit un problme au niveau du pilote OBDC car il a t bien installer et fonctionne correctement dans une application de test.Je me suis inspir d'une doc MySQL et java qui informe sur l'installation du pilote obdc et fait un test a partir d'un programme pour voir si la connection s'ffectue, ce prog :


```

```

 J'ai juste remplacer les "affiche" et "arret" par des "out.println" et l'ai intgr dans un servlet.Est-ce la bonne mthode ?

----------


## Laurent.B

Oui c'est une mthode pour tester... aprs si tu veux faire quelque chose de plus srieux, faudra envisager d'autres mthodes pour te connecter  ta bdd  :;): 
Par contre, lorsque tu catches une exception il faut toujours la traiter, en affichant l'erreur dans la console par exemple ou en faisant une action qui te permette d'agir en consquence (en vitant de t'en servir comme un comportement normal puisque cela n'est pas trs efficace en terme de rapidit).

Bref, le minimum  faire est de faire parler ton exception en mettant quelque chose dans le style :


```
System.out.println(e.getMessage()); // lorsque 'e' est l'instance de l'exception
```

Donc  prsent, tu devrais pourvoir obtenir un message sans doute un peu plus explicite sur l'erreur rencontre...

----------


## BizuR

```
String DBurl="jdbc:odbc:test_java"
```

 Heu, je voter galement pour ce chemin d'accs ... test_java c'est ta base ? et il n'y a pas de chemin d'accs  cette base comme "//localhost/test_java" ?!? enfin, la je vois le mot odbc, donc je ne garantis rien mais en jdbc, il me semble que l'on agit ainsi  ::D: 

Pour une connexion a MySQL, mon chemin perso est le suivant :


```
jdbc:mysql:[serveur]:[port]/[nom_base]
```

 o : 
serveur = //localhost 
port = 3306 (par dfaut avec une install de MySQL5).

EDIT : Autant pour moi, en lisant plus en dtail, c'est vraiment une connexion ODBC ... prochain coup, je lirai plus en dtail, mais si c'est sous MySQL pourquoi prendre ODBC qui demande une configuration du pilote sur le poste alors que JDBC fonctionnera tout seul ?!?

----------


## 2tsiris

Voici l'erreur qui m'est retourne :
[Microsoft][Gestionnaire de pilotes ODBC] Source de donnes introuvable et nom de pilote non spcifi.
sur ce bout de code :


```

```

alors que le pilote est correctement configurer :




> ---------------------------
> MySQL ODBC 3.51 Driver, Version : 03.51.03
> ---------------------------
> Data Source 'test_java' Connected Successfully to 'mysqld-4.1.9-max' !!!
> ---------------------------
> OK

----------


## 2tsiris

ou mais c'est mon professeur qui m'a forcer a passer par le pilote OBDC.
Donc je suis obliger de passer par ce dernier.
@ +

----------

