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:
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
DAO.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();
}
DAOBASE.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;
	}
}
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
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;
 
}
}
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
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");
 
	}
 
}
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
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 !");
		}
	}
}
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
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");
			}
		}
	}
}
Merci d'avance.