Problème connexion mysql et tomcat

Fermé
filipe - 26 nov. 2006 à 01:49
SOPHISTE Messages postés 1 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 23 janvier 2008 - 23 janv. 2008 à 10:00
Bonjour,
je suis débutant en jsp et je teste une connexion avec une base de donnée mysql.
donc j'ai créer un nouveau projet contenant un repertoire WEB-INF avec classes et lib

j'ai créer une classe DBTest que j'ai mis dans WEB-INF/classes/foo/ :
package foo;

import javax.naming.*;
import javax.sql.*;
import java.sql.*;

public class DBTest {

String nom;
int id;
Connection conn;

public void init() {

try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rst = stmt.executeQuery("select ID,Nom from produit where ID=1");

while(rst.next()) {
nom=rst.getString("Nom");
id=rst.getInt("ID");
}
conn.close();

}catch(Exception e) { e.printStackTrace();}
}

public String getNom() { return nom; }
public int getID() { return id;}
}

j'ai modifier le fichier server.xml de C:\jakarta-tomcat-4.1.31\conf\ j'ai rajouté :

<Context path="/DBTest" docBase="DBTest"
debug="5" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_DBTest_log." suffix=".txt"
timestamp="true"/>

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/TestDB">

<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>

<parameter>
<name>username</name>
<value>javauser</value>
</parameter>

<parameter>
<name>password</name>
<value>javadude</value>
</parameter>

<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>

<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/produits</value>
</parameter>

</ResourceParams>
</Context>

j'ai aussi créer une page testdb.jsp qui utilise ma classe DBTest :

<html>
<head>
<title>DB Test</title>
</head>
<body>
<%
foo.DBTest tst = new foo.DBTest();
tst.init();
%>
<h2>Resultats</h2>
idproduit <%= tst.getID() %><br/>
Nom <%= tst.getNom() %>
</body>
</html>

en exécutant le programme cela me renvoi :
Resultats
idproduit 0
Nom null
alors que ma table contient bien le champs demandé.
la base mysql marche bien car avec d'autres programmes il n'y a pas de souci.

je ne comprend pas, j'arrête pas de tester, de modifier .... rien ne marche
si quelqu'un pouvais m'aider ça serait sympa.

merci
A voir également:

1 réponse

SOPHISTE Messages postés 1 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 23 janvier 2008
23 janv. 2008 à 10:00
J'aimerais avoir une piste pour pouvoir me connecter à mysql en java
-1