IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

JDBC: problème de driver de classe avec Tomcat


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Par défaut JDBC: problème de driver de classe avec Tomcat
    Bonjour,

    j'essaye d'utiliser une source de données avec Tomcat.

    Voici le programme principal PoolExample.jsp :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <html>
      <head>
        <title>Chapter 7 Exemple d'utilisation d'un pool avec une JSP</title>
        <%@ page import="java.sql.*, javax.sql.*, java.io.*, javax.naming.*"
        	contentType="text/html; charset=ASCII" %>
      </head>
      <body>
        <h1>Chapter 7 Exemple d'utilisation d'un pool avec une JSP</h1>
     
    <%
        InitialContext context = new InitialContext();
        DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/countries");
        Connection conn = null;
        Statement stmt = null;
        ResultSet rset = null;
        try {
          conn = dataSource.getConnection();
          stmt = conn.createStatement();
          rset = stmt.executeQuery("select * from COUNTRIES");
          if (rset.next()) {
    %>
        <table width="100%" border="1">
          <tr align="left">
            <th>Pays</th><th>Code ISO</th><th>Région</th>
          </tr>
    <%
            do {
    %>
          <tr>
            <td><%= rset.getString(1) %></td>
            <td><%= rset.getString(2) %></td>
            <td><%= rset.getString(3) %></td>
          </tr>
    <%
            } while (rset.next());
    %>
        </table>
    <%
          } else {
    %>
        La requête n'a retourné aucun résultat.
    <%
          }
        } catch (SQLException e) {
    %>
        <%= e.getMessage() %>
    <%
          e.printStackTrace();
        } finally {
          if (rset != null) { rset.close(); }
          if (stmt != null) { stmt.close(); }
          if (conn != null) { conn.close(); }
          if (context != null) { context.close(); }
        }
    %>
      </body>
    </html>
    e programme marche très bien avec le serveur sun J2EE, donc à priori pas de problèmes.

    Voici la modi dans le fichier server.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
    <DefaultContext>
              <Resource name="jdbc/countries" auth="Container"
                	    type="javax.sql.DataSource" />
              <ResourceParams name="jdbc/countries">
                <parameter>
                  <name>driverClassName</name>
                  <value>com.pointbase.jdbc.jdbcUniversalDriver</value>
                </parameter>
                <parameter>
                  <name>url</name>
                  <value>jdbc:pointbase:server://localhost/pointbaseDB</value>
                </parameter>
                <parameter>
                  <name>username</name>
                  <value>PBPUBLIC</value>
                </parameter>
                <parameter>
                  <name>password</name>
                  <value>PBPUBLIC</value>
                </parameter>
              </ResourceParams>
            </DefaultContext>
    Bout de programme inséré juste avant le Enfin le web.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0"?>
    <web-app>
      <display-name>Web App</display-name>
      <servlet>
        <servlet-name>PoolExample</servlet-name>
        <jsp-file>/PoolExample.jsp</jsp-file>
      </servlet>
      <resource-ref>
        <res-ref-name>jdbc/countries</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
      </resource-ref>
    </web-app>
    L'arborescence des répertoires est celle-ci sous webapps:
    pe/
    PoolExample.jsp
    WEB-INF/
    web.xml

    J'ai pris soin de démarrer Pointbase qui correspond à ma base de données.

    Voilà, le message d'erreur que j'obtiens:

    Cannot create JDBC driver of class '' for connect URL 'null'
    Si quelqu'un a une idée, je suis preneur, car j'ai vérifié les fichiers ils ont l'air bon.

    Merci d'avance.

    mumu27!

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par mumu27 Voir le message
    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
    <DefaultContext>
              <Resource name="jdbc/countries" auth="Container"
                	    type="javax.sql.DataSource" />
              <ResourceParams name="jdbc/countries">
                <parameter>
                  <name>driverClassName</name>
                  <value>com.pointbase.jdbc.jdbcUniversalDriver</value>
                </parameter>
                <parameter>
                  <name>url</name>
                  <value>jdbc:pointbase:server://localhost/pointbaseDB</value>
                </parameter>
                <parameter>
                  <name>username</name>
                  <value>PBPUBLIC</value>
                </parameter>
                <parameter>
                  <name>password</name>
                  <value>PBPUBLIC</value>
                </parameter>
              </ResourceParams>
            </DefaultContext>
    Je crois que ceci serait plsu correct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
              <Resource name="jdbc/countries" auth="Container"
                	    type="javax.sql.DataSource" 
    driverClassName="com.pointbase.jdbc.jdbcUniversalDriver"
    url="jdbc:pointbase:server://localhost/pointbaseDB"
    username="PBPUBLIC"
    password="PBPUBLIC"/>

  3. #3
    Membre éclairé Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Par défaut
    Bonjour,

    j'ai testé la modif, mais cela ne change rien, j'ai toujours le même message d'erreur.

    Je précise que j'ai copié le fichier pbclient.jar dans %CATALINA_HOME%\common\lib.

    Aussi, je tape dans le navigateur : .

    J'ai bien un message qui apparaît :
    Chapter 7 Exemple d'utilisation d'un pool avec une JSP
    , mais après j'ai le message d'erreur.

    Merci d'avance pour vos idées.

    mumu27!

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Je pense que le problème vient de la déclaration de ta datasource dans le server.xml.
    Avec Tomcat, il serait préférable de créer un fichier context.xml dans le répertoire META-INF (/META-INF/context.xml) et de paramétrer ta source de données, dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
        <Resource auth="Container" description="DB Connection"
            name="jdbc/leNom"
            type="javax.sql.DataSource"
            username="root"
            password=""
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql:///leSchéma"
            maxIdle="2"
            maxWait="5000"
            maxActive="4"/>
    </Context>
    (à adapter bien sûr)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Par défaut
    Bonjour,

    je viens de m'apercevoir d'un problème lié certainement au premier cité. En effet, je n'arrive plus à compiler mes classes Java, ce que j'arrivais parfaitement à faire avant.

    Par exemple, si je tape cette commande :
    javac -classpath %CATALINA_HOME%\common\lib\servlet-api.jar Login.java
    .

    J'ai alors ce message d'erreur :

    javac: invalid flag : Files
    Usage: javac <options> <source files>
    where possible options include:
    -g ...
    -g:none ...
    ...
    -classpath <path> ...
    Je précise sous ce PC, je suis sous Windows 7, alors que l'autre, j'étais sous XP.
    A priori pas de problèmes de variables d'environnement, j'utilise la variable Path pour le chemin d'accès aux sous dossiers bin ex : c:\Sun\AppServer\bin et C:\Program Files (x86)\Apache Software Foundation\Tomcat 5.5\bin entre autres. Cependant mon PC utilise la variable système Path, dans mes notes apparemment, on utilise plutôt PATH, mais je ne pense que cela fasse quelque chose, car j'arrive à compiler avec l'autre serveur sun J2EE qui utilise Path. Si vous avez une idée du pourquoi du problème de compilation, je suis preneur. Merci d'avance.

    mumu27!

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -classpath "%CATALINA_HOME%\common\lib\servlet-api.jar" Login.java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. jdbc:jtds:sqlserver connexion serveur distant avec Tomcat
    Par Bobble dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 29/04/2012, 17h31
  2. Problème d'ajout de projet avec Tomcat 6
    Par BARBIESS dans le forum Eclipse
    Réponses: 2
    Dernier message: 09/01/2012, 12h14
  3. Problème de lecture properties juste avec tomcat
    Par mattrixx dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 03/03/2011, 16h52
  4. Problème génération .class avec Tomcat 5.5 sous Windows 7!
    Par mumu27 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 18/02/2010, 14h00
  5. Problème d'affichage des graphes avec Tomcat
    Par _Janu_ dans le forum BIRT
    Réponses: 11
    Dernier message: 20/09/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo