Bonjour, j'ai crée un servlet qui affiche le contenu d'une table d'une base de donnée mysql.
le problème est que la page retournée 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 empêché de satisfaire la requête.
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 complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.16.


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
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
     Connection con= null;
     ResultSet resultats = null;
     String requete = " ";
    try    {                                             //chargement du pilote
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch (ClassNotFoundException e)    {
    }                                                                            
    try    {                            //connection a la base de donnees
      con= DriverManager.getConnection("jdbc:odbc:test_java");
    }
    catch (SQLException e)    {
    }
                                           //creation et execution de la requete     
    requete = "SELECT * FROM seuils";
    try    {
      Statement stmt = con.createStatement();
      resultats = stmt.executeQuery(requete);
    }
    catch (SQLException e)    {
    }
    response.setContentType("text/html");
    PrintWriter out = new PrintWriter (response.getOutputStream());
    out.println("<html>");
    out.println("<head><title>affichage des seuils</title></head>");
    out.println("<body bgcolor='#8DE9FC'><br><center><h1>voici les seuils<h1>");
    out.println("<br><br><table border=1>");
    out.println("<tr><td>");
    try    {
      ResultSetMetaData rsmd = resultats.getMetaData();
      int nbCols = rsmd.getColumnCount
      boolean encore = resultats.next();
        while (encore)//tant que la table n'est pas vide...
        {
          for (int i = 1; i<=nbCols; i++)
          {
            System.out.println(resultats.getInt(i));
            switch (i)
            {
              case 1 :
                      out.println("précipitation maxi : " + resultats.getString(i)+ "</td><td>");
                      break;
              case 2 :
                      out.println( "précipitation maxi : " + resultats.getString(i)+ "</td><td>");
                      break;
              case 3 :
                      out.println( "vitesse du vent maxi : " + resultats.getString(i)+ "</td><td>");
                      break;
              case 4 :
                      out.println( "vitesse du vent maxi : " + resultats.getString(i)+ "</td><td>");
                      break;
              default :
                      break;
            }
          }
             encore = resultats.next();
        }
      out.println("</tr></table></center></body></html>");
      out.close();
      resultats.close();
    }
    catch (SQLException e)  {
    }
  }  
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
    doGet(request,response);
  }
}

.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<html><head><title>test servlet journalier</title></head>
<marquee><h1>Bienvenu sur le site de la station météo</h1></marquee>
<br><br><body bgcolor="yellow">
<form action=http://127.0.0.1:8080/servlet_seuils/servlet/Servlet1 methode="post">
<br><br><br>
<center>
<input type=submit value="affichage de vos seuils">
</center>
</form>
</body></html>


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