Connexion MySql et Statement - JEE
Résolu
Guillaume
-
Guillaume -
Guillaume -
Bonjour,
Je suis en train de programmer un projet en Java (JEE). J'ai pour l'instant créer une servlet, censée envoyé à ma page JSP une collection d'objet (ArrayList).
Cependant j'ai un problème au niveau de ma connexion à la base de données, et plus particulièrement au moment de créer ma variable Statement me permettant de faire des requêtes.
J'obtiens une erreur de type NullPointerException. Je pense que c'est la connexion qui ne s'est pas faite mais après avoir vérifier que mes paramètres soient bon, je ne sais pas quoi faire.
Voici l'erreur :
Voici ma classe :
Avez vous des solutions?
Je suis en train de programmer un projet en Java (JEE). J'ai pour l'instant créer une servlet, censée envoyé à ma page JSP une collection d'objet (ArrayList).
Cependant j'ai un problème au niveau de ma connexion à la base de données, et plus particulièrement au moment de créer ma variable Statement me permettant de faire des requêtes.
J'obtiens une erreur de type NullPointerException. Je pense que c'est la connexion qui ne s'est pas faite mais après avoir vérifier que mes paramètres soient bon, je ne sais pas quoi faire.
Voici l'erreur :
java.lang.NullPointerException controleur.EmprunterAlbum.doGet(EmprunterAlbum.java:72) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Voici ma classe :
package controleur; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.swing.JOptionPane; import musique.Album; import utilitaire.Sql; public class EmprunterAlbum extends HttpServlet{ public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ JOptionPane joptDialogue = new javax.swing.JOptionPane(); //String pilote = "com.mysql.jdbc.Driver"; String pilote = "org.gjt.mm.mysql.Driver"; String protocoleDeConnexion= "jdbc:mysql:"; // début url String url = "//localhost:3306/megatheque"; // fin url // Paramètres propres au SGBD String utilisateurBD = "root"; String motDePasseBD = ""; String schemaBD = ""; // Pour Oracle, il faut préfixer le nom de la table par le nom du schéma // Variables contenant des objets de JDBC Connection connexion = null; // L'identifiant de connexion ResultSet resultat = null; // La liste des enregistrements Statement stmt = null; // l'instruction SQL String texteRequete = ""; try{ // PREMIERE ETAPE : chargement du pilote JDBC Class.forName(pilote) ; //jdbc driver // DEUXIEME ETAPE : connexion au SGBD : on fournit login et mot de passe (pas pris en compte avec notre base Access) connexion = DriverManager.getConnection(protocoleDeConnexion + url, utilisateurBD, motDePasseBD); //url = base } catch (ClassNotFoundException e) { e . printStackTrace() ; } catch (SQLException e) { e . printStackTrace() ; } int id; String nom; String genre; String pochette; int annee; boolean disponible; try{ texteRequete= "SELECT * FROM album;"; stmt = connexion.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); //stmt = connexion.createStatement(); if(stmt == null){ joptDialogue.showMessageDialog(joptDialogue, "kfhjsdhf"); } System.out.println(texteRequete); resultat = stmt.executeQuery(texteRequete); } catch (SQLException e) { e . printStackTrace() ; } ArrayList<Album> lesAlbums = new ArrayList<Album>(); try { //Ajout des résultats dans la collection while (resultat.next()) { id = Integer.parseInt(resultat.getString("IDDISQUE")); nom = resultat.getString("NOM"); genre = resultat.getString("GENRE"); pochette = resultat.getString("POCHETTE"); annee = Integer.parseInt(resultat.getString("ANNEE")); if(resultat.getString("DISPONIBLE") == "oui"){ disponible = true; } else{ disponible = false; } lesAlbums.add(new Album(id, nom, genre, pochette, annee, disponible)); } } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } request.setAttribute("lesAlbums", lesAlbums); //request.setAttribute("colorString", new ColorModel().getColor()); request.getRequestDispatcher("choisirAlbum.jsp").forward(request, response); } }
Avez vous des solutions?
A voir également:
- Connexion MySql et Statement - JEE
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Mysql community server - Télécharger - Bases de données