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

Tomcat et TomEE Java Discussion :

gros problème tomcat avec mysql


Sujet :

Tomcat et TomEE Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut gros problème tomcat avec mysql
    bonjour

    je suis debutant en serveur d'application donc pour commencer j'ai télécharger tomcat que j'essai de faire fonctionner avec une base mysql.
    pour débuter j'ai donc essayer le tutoriel sur le site apache :

    http://tomcat.apache.org/tomcat-5.5-...les-howto.html

    j'ai donc créer une base javatest, un utilisateur javauser et pass javadude

    j'ai créer un nouveau répertoire dans C:\jakarta-tomcat-4.1.31\webapps appellé DBTest contenant un repertoire WEB-INF avec classes et lib

    j'ai modifier le fichier C:\jakarta-tomcat-4.1.31\conf\server.xml
    en ajoutant :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <Context path="/DBTest" docBase="DBTest"
            debug="5" reloadable="true" crossContext="true">
      <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
                   maxActive="100" maxIdle="30" maxWait="10000"
                   username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
                   url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
    </Context>
    j'ai créé un fichier web.xml dans C:\jakarta-tomcat-4.1.31\webapps\DBTest\WEB-INF\ contenant :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
      <description>MySQL Test App</description>
      <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/TestDB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>
    </web-app>
    et enfin une page test.jsp dans C:\jakarta-tomcat-4.1.31\webapps\DBTest\
    contenant :

    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
    <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> //LE SOUCI EST LA
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     
    <sql:query var="rs" dataSource="jdbc/TestDB">
    select id, foo, bar from testdata
    </sql:query>
     
    <html>
      <head>
        <title>DB Test</title>
      </head>
      <body>
     
      <h2>Results</h2>
     
    <c:forEach var="row" items="${rs.rows}">
        Foo ${row.foo}<br/>
        Bar ${row.bar}<br/>
    </c:forEach>
     
      </body>
    </html>
    j'ai egalement copier les fichiers jstl.jar et standard.jar dans C:\jakarta-tomcat-4.1.31\webapps\DBTest\WEB-INF\lib.

    voilà donc je quand je teste tout ca j'ai l'érreur suivante :

    org.apache.jasper.JasperException: This absolute uri (http://java.sun.com/jsp/jstl/sql) cannot be resolved in either web.xml or the jar files deployed with this application
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:60)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:385)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:109)
    etc.....

    pour info ma base marche bien car quand je teste la page avec une connexion sans datasource avec un objet connexion un statement et un resultset cela marche très bien.

    voilà j'ai cherché, modifier, tester, re-tester... je n'y arrive pas. Si quelqu'un peux m'aider ca serait sympa.

    merci.

    voici

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu dois déclarer tes taglibs dans ton fichier web.xml, pour qu'il y ait un lien entre la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
    et le fichier taglib correspondant.

    Il faut rajouter une ligne du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <taglib>
        <taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
        <taglib-location>/WEB-INF/sql.tld</taglib-location>
      </taglib>
    En remplaçant le tdl par le nom exact de ton fichier et son emplacement.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci a vous, je comprend mieux,
    cependant j'essais de réaliser un autre tuto et ca marche pas aussi, je sais pas je dois être bête.

    je teste une connexion avec une base de donnée mysql et un datasource
    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/ :
    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
    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é :

    Code xml : 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
    <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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <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

Discussions similaires

  1. Réponses: 16
    Dernier message: 14/09/2009, 19h59
  2. Problème Tomcat avec un ancien projet
    Par ghohm dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 23/04/2008, 18h16
  3. Problème arabe avec mysql
    Par a_me dans le forum Installation
    Réponses: 14
    Dernier message: 01/02/2008, 19h28
  4. Problème Sunopsis avec MySQL
    Par Crystalle dans le forum Alimentation
    Réponses: 6
    Dernier message: 23/11/2007, 09h33
  5. problème update avec mysql
    Par opeo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 23/03/2007, 11h30

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