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 :

probleme connexion base de donnée


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut probleme connexion base de donnée
    j'ai tester de se connecter à la base de donnée mais j'ai un probleme en kilke part mon code est le suivant il m'affiche toujours false :

    page 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
    <% 
        String query="SELECT *  FROM contact";
        test.testsql sql=new test.testsql(); 
            boolean con=sql.connect();
            String nom=ex.getnom();
       
            if(con==true){
                            ResultSet exemple=sql.requete(query);
                            
                            out.println("<table border=1 align=center> " +
                                    "<tr>" + "<th>identificateur de contact</th>"
                                    +"<th>description de contact</th>"
                                    +"<th>email de contact</th>"
                                    +"<th>ordre de contact</th>"
                                    +"</tr>");
            
                                    while(exemple.next())
                                            { out.println("<tr>");
                                            System.out.println("<td>" + exemple.getInt(1) + "</td>");
                                            System.out.println("<td>" + exemple.getString(2) + "</td>");
                                            System.out.println("<td>" + exemple.getString(3) + "</td>");
                                            System.out.println("<td>" + exemple.getString(4) + "</td>");
                                                    System.out.println("</tr>");
                          
                                            }
                                    out.println("</table>");
                    }
                    else 
                    { out.println("la connexion est fermée");
                    out.println("<h4> la connexion est " +  con + "</h4>"); 
                    
                    }
            
    %>
    et la classe de connexion est la suivante

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    package test;
    import java.sql.*;
    public class testsql {
     
    	private String url="jdbc:mysql://localhost/ged";
    	private String driver="com.mysql.jdbc.Driver";
    	private Connection cnx;
    	private Statement stat;
    	private ResultSet res;
     
    public String geturl(){
    	return url;
    }
    public void seturl(String url){
    	this.url=url;
    }
    public String getdriver(){
    	return driver;
    }
    public void setdriver(String driver){
    	this.driver=driver;
    }
     
    public boolean connect(){
    		try{
    				Class.forName("com.mysql.jdbc.Driver");
    				cnx=DriverManager.getConnection("jdbc:mysql://localhost/ged","root","ensa");
    				stat=cnx.createStatement();
    				return true;
     
    		   }
    		catch(SQLException  ex){
    			System.out.println( ex.getMessage().toString() );
    			return false;
    		}
    		catch(ClassNotFoundException exc){
    			System.out.println(exc.getMessage().toString() );
    			return false;
    		}
    	}
    public ResultSet requete(String query){
    		ResultSet resultat=null;
    		 try{ 
    		     res=stat.executeQuery(query);
    		     return resultat;
    		    }
    		catch(SQLException dd){
    			resultat=null;
    			System.out.println("Probleme au niveau de la requete :" +dd.getMessage().toString() );
    			return resultat;
     
    		   }
     
    	}
    public boolean deconnexion(){
    	try{
    		if(!(this.cnx.isClosed()))
    			{ this.cnx.close();}
    		else {System.out.println("la connexion n'est pa ouverte ");}
    		return true;
    	}
    	catch(SQLException ex)
        {
            System.out.println(ex.getMessage().toString());
            return false;
        }
     
    }
     
    }
    Merci pour l'aide

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    1/ les jsp servent à la presentation des données, la persistence n'a rien à y faire
    2/ on peut avoir l'exception générée ?

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    voila si je teste a part la jsp sa marche mais ou il y a le probleme exactement je suis un debutant
    Merci pour l'aide

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Citation Envoyé par pascal007
    voila si je teste a part la jsp sa marche mais ou il y a le probleme exactement je suis un debutant
    Les signes de poncutation ca existe :/

    Précise ton souci, qu'est ce qui renvoie false ? qu'est ce que tu tentes de faire et à quel moment ca ne veut plus marcher ?

    Si tu ne sais pas, mets des System.out.println toutes les deux lignes, tu verras bien quand ca ne voudra plus marquer quelque chose en console, et àç partir de là teste tes objets

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    Mon objectif est le suivant : je veux afficher le contenu de la table "contact" dans l'element <table>, pour cela j'ai fait une classe java testsql.java qui contient la methode "boolean connect()" qui retourne la valeur true dans le cas de connexion et false dans le cas contraire
    dans ce cas la il m'affiche toujours false meme si tous les parametres sont correctes
    la variable boolean "con" valeur de retour de connect est toujours à false
    pourkoi ce probleme sachant que tester ailleurs avec void main() sa marche merci

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    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
    public boolean connect(){
    try{
    Class.forName("com.mysql.jdbc.Driver");
    cnx=DriverManager.getConnection("jdbc:mysql://localhost/ged","root","ensa");
    stat=cnx.createStatement();
    return true;
     
    }
    catch(SQLException ex){
    System.out.println( ex.getMessage().toString() );
    return false;
    }
    catch(ClassNotFoundException exc){
    System.out.println(exc.getMessage().toString() );
    return false;
    }
    }
    Ton erreur est donc d'ici. Si tu as false, c'est qu'il y a une exception. Il serait donc bien d'en avoir le message.

    Sinon getMessage retourne une String, pas besoin de faire un toString() dessus

  7. #7
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    Merci pour l'aide le resultat de tous ce test est un message d'exception + un false
    c'est à dire que la connexion n'est pas faite
    c'est bizare ça : si je test à part ça marche et dans la page jsp un probleme

    Merci pour l'aide

  8. #8
    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
    Quel message d'exception ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    le message d'exception est "com.mysql.jdbc.Driver"

    sachant que lorsque j'utilise ma classe testsql avec une fonction void main tous va bien voila mon de test à part de la servlet
    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
    package test;
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
     
    public class verif_sql {
     
     
    	public static void main(String[] args) {
     
    	 String url="jdbc:mysql://localhost/ged";
    		 String driver="com.mysql.jdbc.Driver";
    		 Connection cnx;
    		 Statement stat;
    		 ResultSet res;
     
    		try{
    			Class.forName(driver);
    			cnx=DriverManager.getConnection(url,"root","ensa");
    			stat=cnx.createStatement();
    			System.out.println("la connexion est bien faite");			
     
    	   }
    	catch(SQLException  ex){
    		System.out.println( ex.getMessage().toString() );
     
    	}
    	catch(ClassNotFoundException exc){
    		System.out.println(exc.getMessage().toString() );
    			}
     
    	}
     
    }
    le resultat est "la connexion est bein faite"

    sachant que j'ai importer le connector de mysql dans mon projet
    aidez moi svp je suis un debutant

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    C'est pas hyper clair. ya pas une phrase complete ?
    Rajoute des e.printStackTrace dans tes exceptions, afin de voir l'ensemble de l'exception.

    Fais un copier/coller plutôt qu'une citation

  11. #11
    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
    Citation Envoyé par pascal007
    le message d'exception est "com.mysql.jdbc.Driver"
    C'est pas un message d'exception ça, il faut le texte complet...

    Sinon, as-tu placé le jar du driver MySQL dans le répertoire /WEB-INF/lib ?

    Si ce n'est pas le cas, fais le...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    le contenu de la pile est le suivant :

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at test.testsql.connect(testsql.java:28)
    at org.apache.jsp.testsql_jsp._jspService(testsql_jsp.java:66)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Unknown Source)
    je ne sais pas vraiment ou il y a le probleme

  13. #13
    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
    Si tu mets le jar du driver dans /WEB-INF/lib, ça devrait régler ton problème
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    voila ce que j'ai fait :
    [IMG]D:jsp.bitmap[/IMG]
    aucune resultat

  15. #15
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    Le voilà ton problème, il ne trouve pas le driver jdbc, assure toi qu'il soit dans ton web-inf/lib, et qu'il soit déclaré dans ton CLASSPATH

    Et verifie tes posts, cest pas terrible des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [IMG]D:jsp.bitmap[/IMG]

  16. #16
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    la structure de mon

    + web-inf/lib
    +mysql-connector-java-3.1.12-bin.jar
    -->web-inf
    -->fichiers jsp ici

    j'ai fait web-inf/lib---->build path--->configure build path

    pas de resultat en faite

    si possible pouvez me dire une autre procedure pour faire la connexion si ça ne marche plus merci

  17. #17
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    une fois dans build path, tu vas sur libraries, et tu fais "add jar" ou "add external jar" puis tu vas chercher ton mysql-connector.jar qui se trouve dans web-inf/lib

  18. #18
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    j'ai fait tous ça j'ai pas obtenu de resultat:

    j'ai changer le code jsp mais reste sans vain

    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
    %@ page language="java" contentType="text/html"  import="java.sql.*" pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     
     
    <html>
    <head><title>la page de tset de connexion </title></head>
     
    <body>
     
    <% 
      try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection c=DriverManager.getConnection("jdbc:mysql://localhost/ged","root","ensa");
            Statement st=c.createStatement();
            out.print("la connexion est bien faite");
        }
        catch(ClassNotFoundException ec){ out.println("ici erreur" + ec.getMessage().toString());}
        catch(SQLException cx){ out.println("<h4>" + cx.getMessage().toString() + "</h4>");}
    %>   
    </body>
    </html>
    est ce que ça necessite des modif. au nivaeu des fichiers xml ????????

  19. #19
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Normalement il n'y a aps à changer le code

    Si tu utilises un EDI (eclipse, netbeans), verifie que le jar mysql-connector apparait bien dans ton projet via la vue d'exploration (package explorer sous eclipse)

    C'est le chargement de cette ressource qui pose souci. Après, ils erait sage de deporter le code d'accès à la base de données vers une servlet (meme si ca ne doit rien changer en fonctionnement)

  20. #20
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Par défaut
    je sait pas comment je peux proceder j'ai une contrainte de temps qui me pose le probleme ci vraiment extra

    ci le chergement de la pge jsp qui me pose le probleme par ce que le connecteur est importer
    Merci pour l'aide

Discussions similaires

  1. probleme connexion base de donnée sous VS
    Par ihebiheb dans le forum Visual Studio
    Réponses: 0
    Dernier message: 29/09/2011, 18h01
  2. Probleme Google GWT connexion base de donne
    Par r0nsync dans le forum Webdesign & Ergonomie
    Réponses: 6
    Dernier message: 26/09/2008, 18h05
  3. Probleme Google GWT connexion base de donne
    Par dominou73 dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 10/07/2007, 15h49
  4. Probleme connexion base de donnée "Fantome"
    Par kerseub dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/03/2007, 16h40
  5. Probleme connexion base de données (SQL Server 2005 Express)
    Par GuileIzback dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 13/11/2006, 01h46

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