Bonjour,
Je suis en train de développer une application où j'ai besoin de me connecter à une BD. Dans mon premier essaye d'application, tout à très bien marché. Maintenant j'essaye de changer mon code pour faire une "Injection de ressource", mais j'ai l'erreur "java.lang.NullPointerException" à la ligne
Je pense qui j'ai un problème avec ma DataSource, qui je n'arrive pas à trouver comment la déclarer/ initialiser...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Connection myConn = myDataSource.getConnection();
La classe qui j'utilise pour me connecter est la suivant:
et mon fichier web.xml est:
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 import java.sql.*; import javax.sql.DataSource; import javax.annotation.Resource; class ConnectionDAO { //private Connection myConn; @Resource(name="jdbc/testapp") private DataSource myDataSource; public ConnectionDAO() throws ClassNotFoundException, SQLException{ //dataSource = myDataSource; } public String getName(String mec) throws SQLException{ String nom = ""; String SQL = "SELECT Nom FROM T_collaborateurs WHERE Mec='" + mec + "'"; Connection myConn = myDataSource.getConnection(); Statement stmt = myConn.createStatement(); ResultSet rs = stmt.executeQuery(SQL); while (rs.next()){ nom=rs.getString("Nom"); } myConn.close(); stmt.close(); return nom; } }
Ci-dessous je mettre aussi mon fichier de context dans Tomcat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <resource-ref> <description>testapp db connection</description> <res-ref-name>jdbc/testapp</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
Est-ce que quelqu'un pourrait m'aider, svp?
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 <Context docBase="c:\NETDADOS\EclipseProjectsWeb\testapp\WebContent" reloadable="true" > <Resource name="jdbc/testapp" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://10.88.248.22:1433;databaseName=outils_gestion_DV;user=xxx;password=xxx" maxActive="10" maxIdle="5" maxWait="10000" removeAbandoned="true" /> </Context>
Je vous remercie d'avance,
Marc
Partager