Bonjour,
Nous avons un probleme pour le développement d'une application web.
La config est :
Tomcat 6.0.10
Mysql 5.0.37
mysql-connector-java-5.0.5
Nous avons tout installé, la base de donnée tourne correctement et nous permet de lancer des requetes sans soucis.
Le tomcat marche aussi nickel.
Le MySql connector est présent dans le C:\Program Files\Apache\Tomcat\lib
Voici nos parametres xml :
server.xml :
Nous avons ensuite crée un projet java avec la bonne structure.
Voici le web.xml
Code :
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
- <web-app>
- <display-name>TutoPool</display-name>
- <servlet>
- <servlet-name>TutoPool</servlet-name>
- <servlet-class>tutorial.TutoPool</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>TutoPool</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- <resource-ref>
- <description>
- reference a la ressource BDD pour le pool
- </description>
- <res-ref-name>jdbc/TutoPool</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
- </web-app>
|
Voici la classe qui tente de faire une requete :
Code :
- import java.io.*;
- import java.sql.*;
- import javax.naming.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- import javax.sql.*;
- public class TutoPool extends HttpServlet {
- private DataSource ds; //la source de données
- protected void doGet(
- HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html" );
- PrintWriter out = response.getWriter();
- out.println("<html><head></head>" );
- out.println("<body>" );
- Connection con = null;
- Statement s = null;
- ResultSet rs = null;
- try {
- //récupération de la Connection depuis le DataSource
- con = ds.getConnection();
- s = con.createStatement();
- rs = s.executeQuery("SELECT * FROM javatest.testdata t;" );
- while (rs.next()) {
- out.println("Test :<br/>" );
- out.println(rs.getString(1) + " " );
- out.println(rs.getString(2) + "<br/>" );
- }
- } catch (SQLException e) {
- response.sendError(500, "TA MERE LA PUTE " + e);
- } finally {
- if (rs != null)
- {
- try {
- rs.close();
- } catch (SQLException e) {}
- rs = null;
- }
- if (s != null) {
- try {
- s.close();
- } catch (SQLException e) {}
- s = null;
- }
- if (con != null) {
- try {
- con.close();
- } catch (SQLException e) {}
- con = null;
- }
- }
- out.println("</body>" );
- out.println("</html>" );
- out.close();
- }
- public void init() throws ServletException {
- try {
- //récupération de la source de donnée
- Context initCtx = new InitialContext();
- ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/TutoPool" );
- } catch (Exception e) {
- throw new UnavailableException(e.getMessage());
- }
- }
- }
|
Après le déploiement de l'appli sur tomcat, on obtient l'erreur suivante :
Citation :
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
|
Nous avons cherché sur google et tenté toutes les solutions, mais rien n'y fait, nous sommes désespérés, au bord du suicide !
Si quelqu'un a une idée, elle est la bienvenue (je suis à 2 doigts d'étrangler mon binome)
Voilà, merci d'avance