Bonjour,

J'ai un problème que je compends pas d'ou ça vien?
Code Erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
	at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
	at javax.naming.InitialContext.lookup(InitialContext.java:351)
	at DAO.DaoClient.<init>(DaoClient.java:19)
	at DAO.TestDaoClient.main(TestDaoClient.java:9)
Exception in thread "main" java.lang.NullPointerException
	at DAO.DaoClient.ajouterClient(DaoClient.java:29)
	at DAO.TestDaoClient.main(TestDaoClient.java:13)
Voiçi les classes de m'application:

Client.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
package DAO;
 
public class Client {
private int idClient;
private String nom;
private String prenom;
public Client() {
	super();
	// TODO Auto-generated constructor stub
}
public Client(String nom, String prenom) {
	super();
	this.nom = nom;
	this.prenom = prenom;
}
 
public int getIdClient() {
	return idClient;
}
public void setIdClient(int idClient) {
	this.idClient = idClient;
}
public String getNom() {
	return nom;
}
public void setNom(String nom) {
	this.nom = nom;
}
public String getPrenom() {
	return prenom;
}
public void setPrenom(String prenom) {
	this.prenom = prenom;
}
 
}
DaoClient.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
package DAO;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Hashtable;
 
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
 
public class DaoClient {
	Connection connexio=null;
	ResultSet resultat=null;
	DataSource dataSource;
public DaoClient() {
		try {
 
			Context initCtx=new InitialContext();
			dataSource=(DataSource) initCtx.lookup("java:comp/env/jdbc/test");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
public int ajouterClient(Client client){
	PreparedStatement requete=null;
	String requeteString=null;
	int codeErreur=0;
	try {
		connexio=dataSource.getConnection();
		requeteString="INSERT INTO client(nomClient,prenomClient) VALUES(?,?)";
		requete=connexio.prepareStatement(requeteString);
		requete.setString(1,(String)client.getNom());
		requete.setString(2, (String)client.getPrenom());
		client=null;
		codeErreur=requete.executeUpdate();
	} catch (SQLException e) {
		codeErreur=0;
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return codeErreur;
 
}
}
TestDaoClient.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
package DAO;
 
public class TestDaoClient {
 
	/**
         * @param args
         */
	public static void main(String[] args) {
	DaoClient daoCli=new DaoClient();
	Client cli=new Client();
	cli.setNom("TAKNA");
	cli.setPrenom("KAWTAR");
	daoCli.ajouterClient(cli);
	System.out.println("C bon");
 
	}
 
}
web.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>
	demostrutsdatabase</display-name>
	<context-param>
        <param-name>dataSource</param-name>
        <param-value>java:/comp/env/jdbc/test</param-value>
    </context-param>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<resource-ref>
	<description>DB demostrutsdatabase Mysql Connection</description>
	<res-ref-name>jdbc/test</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
	</resource-ref>
</web-app>
context.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/demostrutsdatabase" 
                  reloadable="true"
                  docBase="\demostrutsdatabase">
 
<Ressource name="jdbc/test" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="root" password=""
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" auth="Container"/>
</Context>
Merci de m'aider à trouver la solution.