Bonjour,
Je souhaite utiliser une base de donnée mysql avec J2EE cependant je bloque sur un problème de chargement du pilote.
En java, ca marche mais par contre lors de l'utilisation des pages JSP ca ne marche pas. Il y a une exception qui est lever du type ClassNotFoundException alors que le jar contenant la définition est bel et bien importer dans le projet (j'utilise eclipse).
Voilà le code de connexion à la base de donnée.
Une page jsp qui utilise la base de donnée:
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
70
71 package projet; import java.sql.*; import java.util.ArrayList; import java.util.Iterator; public class BaseDonnee { private static String dbname="j2ee", user="user", pass="user"; private Connection con = null; public BaseDonnee() { // chargement du pilote try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("Impossible de charger le pilote com.mysql"); } //connection a la base de données System.out.println("connexion a la base de données"); try { con = DriverManager.getConnection("jdbc:mysql://localhost/"+dbname+"?user="+user+"&password="+pass+""); } catch (SQLException e) { System.out.println("SQLException: " + e.getMessage()); System.out.println("SQLState: " + e.getSQLState()); System.out.println("VendorError: " + e.getErrorCode()); System.out.println("Connection à la base de données impossible"); } //insertion d'un enregistrement dans la table client System.out.println("creation enregistrement"); Etudiant etu = new Etudiant(); etu.setNom("test"); etu.setPrenom("toto"); this.updateEtudiant(etu); System.out.println("fin du programme"); System.exit(0); } public Etudiant getEtudiant() {} public ArrayList<Etudiant> listeEtudiant() { String requete = "SELECT * FROM etudiant"; ResultSet result = null; ArrayList<Etudiant> listeEtudiant=new ArrayList<Etudiant>(); try { Statement stmt = con.createStatement(); result = stmt.executeQuery(requete); } catch (SQLException e) { System.out.println("Anomalie lors de l'execution de la requête"); } try { while (result.next()) { listeEtudiant.add(new Etudiant(Integer.valueOf(result.getString(1)), result.getString(2), result.getString(3))); } result.close(); } catch (SQLException e) { System.out.println(e.getMessage()); } return listeEtudiant; } public void addEtudiant(Etudiant e) {} public void removeEtudiant(Etudiant e) {} public void updateEtudiant(Etudiant e) {} }
Il y a t-il quelque chose de particulier à faire avec J2EE?
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 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%-- Directives de page import --%> <%@ page import="java.util.*"%> <%@ page import="projet.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Gestion des notes et des absences des étudiants</title> <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" /> </head> <body> <jsp:include page="header.jsp"/> <jsp:include page="menu.jsp"/> <form action="/Projet_TC4/do/projet/editEtudiantNotes" method="get"> <fieldset> <legend>Edition des absences d'un étudiant</legend> <label>Sélectionner un étudiant: </label> <select name="etudiant"> <% BaseDonnee bd=new BaseDonnee(); Iterator<Etudiant> it = bd.listeEtudiant().iterator(); while(it.hasNext()) { Etudiant etu = (Etudiant)it.next(); %> <option value="<%= etu.getId() %>"><%= etu.getNom() %> <%= etu.getPrenom() %></option> <% } %> </select> <input type="submit" name="valid" value="Editer" /> </fieldset> </form> <jsp:include page="footer.jsp"/> </body> </html>
Merci d'avance de vos réponses.
Partager