Bonjour,
Je suis en train de faire une application de gestion des clients, j'utilise Struts et DAO (Data Access Object). Le problème est que j'arrive pas à réussir le test d'ajout d'un client dans la base de données qui s'appelle betaboutique.
SVP aidez moi parce que je suis totalement épuisé.
Voila l'arboressence de mon projet:
DAO.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ===>src =======beans ++++++++++Client.java =======modeles ++++++++++DAO.java ++++++++++DAOBASE.java ++++++++++ModeleClientDAO.java ++++++++++TestModeleClientDAO.java =======outils ++++++++++ApplicationListener.java ++++++++++GestionBaseDeDonnees.java
DAOBASE.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 package modeles; import java.sql.Connection; public interface DAO { public Connection getConnection(); }
ModeleClientDAO.java
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 package modeles; import java.sql.Connection; import java.sql.SQLException; import javax.servlet.ServletContext; import javax.sql.DataSource; import org.apache.struts2.ServletActionContext; public class DAOBase implements DAO{ DataSource dataSource=null; // Récupérer une connexion public Connection getConnection() { ServletContext servletContext=ServletActionContext.getServletContext(); if(this.dataSource==null) { dataSource=(DataSource)servletContext.getAttribute("dataSource"); } Connection connection=null; if(dataSource!=null) { try { connection=dataSource.getConnection(); } catch(SQLException e) { System.out.println(e); } } // retourner la connexion return connection; } // Positionner une dataSource public void setConnection(DataSource dataSource) { this.dataSource=dataSource; } }
TestModeleClientDAO.java
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 package modeles; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import outils.GestionBaseDeDonnees; import beans.Client; public class ModeleClientDAO extends DAOBase { Connection connexion=null; ResultSet resultat=null; public ModeleClientDAO() { } public int ajouterClient(Client client){ PreparedStatement requete=null; String requeteString=null; int codeErreur=0; try { connexion=getConnection(); requeteString="insert into client (nomclient,prenomclient,emailclient,adresseclient,codepostalclient,identifiantclient,motdepasseclient,telephoneclient,villeclient,paysclient) VALUES (?,?,?,?,?,?,?,?,?,?)"; requete=connexion.prepareStatement(requeteString); requete.setString(1, (String)client.getNom()); requete.setString(2,(String)client.getPrenom()); requete.setString(3, (String)client.getMail()); requete.setString(4, (String)client.getAdresse()); requete.setString(5, (String)client.getCodePostal()); requete.setString(6, (String)client.getIdentifiant()); requete.setString(7, (String)client.getMotDePasse()); requete.setString(8, (String)client.getTelephone()); requete.setString(9, (String)client.getVille()); requete.setString(10, (String)client.getPays()); client=null; codeErreur=requete.executeUpdate(); } catch (Exception e) { codeErreur=0; System.out.println("Erreur dans la requete dans la classe ModeleClient.java fonction creerClient"); } finally{ try { if(resultat!=null){ GestionBaseDeDonnees.closeResulset(resultat); } if(requete!=null){ GestionBaseDeDonnees.closeRequest(requete); } if(connexion!=null){ GestionBaseDeDonnees.closeConnection(connexion); } } catch (Exception e) { System.out.println("Erreur lors de la fermeture de la connexion avec la base do données dans la classe ModeleClient fonction creerClient"); } } return codeErreur; } }
ApplicationListener.java
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 package modeles; import beans.Client; public class TestModeleClientDAO { /** * @param args */ public static void main(String[] args) { ModeleClientDAO clt=new ModeleClientDAO(); Client c=new Client(); c.setNom("FSFDSDFS"); c.setPrenom("ZDDDD"); c.setMail("aaaa@yahoo.fr"); c.setAdresse("FRDS"); c.setCodePostal("20A50"); c.setIdentifiant("123"); c.setMotDePasse("aqwzsx"); c.setTelephone("123333"); c.setVille("AAA"); c.setPays("AZERT"); clt.ajouterClient(c); System.out.println("Client bien ajouter"); } }
GestionBaseDeDonnees.java
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
72 package outils; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.sql.DataSource; public class ApplicationListener { Context context=null; //fonction appelée lors de la création du lanceur public void contextInitialized(ServletContextEvent servletContextEvent) { ServletContext servletContext=servletContextEvent.getServletContext(); String dataSourceJNDIName=servletContext.getInitParameter("dataSourceJNDIName"); String nomProjet=servletContext.getInitParameter("nomProjet"); try { context=new InitialContext(); DataSource dataSource=(DataSource)context.lookup(dataSourceJNDIName); if(dataSource==null) { System.out.println("Il n'y a pas de DataSource pour le projet : "+nomProjet); } else { System.out.println("DataSource : "+nomProjet+" charge !"); } servletContext.setAttribute("dataSource", dataSource); } catch(NamingException e) { throw new RuntimeException(); } finally { try { //fermer le context if(context!=null) { context.close(); } } catch(Exception e) { System.out.println("Erreur lors de initCtx !"); } } } //fonction appelée lors de la destruction du lanceur public void contextDestroyed(ServletContextEvent servletContextEvent) { try { //fermer le context if(context!=null) { context.close(); } } catch(Exception e) { System.out.println("Erreur lors de initCtx !"); } } }
Merci d'avance.
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 package outils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; public class GestionBaseDeDonnees { public static void closeResulset(ResultSet resultat) { if(resultat != null) { try { resultat.close(); } catch(Exception e) { System.out.println("Erreur lors de la fermerture d'une connexion d'un resultset"); } } } /* Fermeture d'une requête */ public static void closeRequest(Statement requete) { if(requete!=null) { try { requete.close(); } catch(Exception e) { System.out.println("Erreur lors de la fermerture d'une requête"); } } } /* Fermeture d'une connexion */ public static void closeConnection(Connection connexion) { if(connexion!=null) { try { connexion.close(); } catch(Exception e) { System.out.println("Erreur lors de la fermerture d'une connexion"); } } } /* Valide la transaction */ public static void commit(Connection connexion) { if(connexion!=null) { try { connexion.commit(); } catch(Exception e) { System.out.println("Erreur lors d'un comit"); } } } /* Annulation de la transaction */ public static void rollback(Connection connexion) { if(connexion!=null) { try { connexion.rollback(); } catch(Exception e) { System.out.println("Erreur lors d'un rollback"); } } } }
Partager