je dois attaquer une base postgrey a partir de tomcat a l'aide des pool de connexion et je comprend pas pourquoi ca marche pas
voici mon erreur en gros
mon jspjava.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(Unknown Source)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:743)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
at connexion.Pool.getConnection(Pool.java:39)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:55)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
mon pool de connexion
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 <!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. --> <%@ page language="java"%> <%@ page import="connexion.*,java.sql.*"%> <html> <head> <title>Welcome</title> </head> <body> <% try { Connection conn = Pool.getConnection(); PreparedStatement ps = conn.prepareStatement("select * from intervenant"); ResultSet rs = ps.executeQuery(); while (rs.next()) { out.println(rs.getString(1)+"-"+rs.getString(2)+"-"+rs.getString(3) +"-"+rs.getString(4)+"-"+rs.getString(5)+"-"+rs.getString(6)+"-"+rs.getString(7)); } conn.close(); } catch (SQLException e) { e.printStackTrace(); } %> </body> </html>
et comme indiqué j'ai rajouter dans mon 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
24
25
26
27
28
29
30
31
32
33
34 package connexion; import java.sql.Connection; import java.sql.SQLException; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class Pool { /** * Method Pool create a new connection pool */ public Pool() { System.out.println("DBUtil instance created."); } /** * Method getConnection. * @return Connection New connection from the pool */ public static Connection getConnection() throws SQLException, NamingException { Connection conn = null; Context initContext; initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/postgres"); conn = ds.getConnection(); return conn; } }
et dans mon serveur.xml<resource-ref>
<description>postgreSQL Datasource example</description>
<res-ref-name>jdbc/postgres</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
sans oublier de rajouter dans mon "tomcat"/comman/lib mon jar de jdbc pour postgrey<Context path="/database" docBase="database" debug="0" reloadable="true" >
<Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/postgres">
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://192.168.150.101:5432/base</value>
</parameter>
<parameter>
<name>username</name>
<value>"login"</value>
</parameter>
<parameter>
<name>password</name>
<value>"mot de passe"</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
merci d'avance
Partager