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

NetBeans Java Discussion :

comment utiliser une base de données sur netbeans dans une application web?


Sujet :

NetBeans Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut comment utiliser une base de données sur netbeans dans une application web?
    Bonjour,
    voila mon titre explique déjà pres-ce que mon problème!
    Je n'ai aucune idée de comment je peux utiliser ma base de données
    dans ma page internet?

    Je doit écrire un login en jsp...
    J'ai fait une connection à une base de données mysql avec jdbc...
    je peux voir mon tableau dans les services,
    mais maintenant je ne sais pas comment l'appeler à partir de mon projet...
    J'ai essayé:
    ------
    private DataSource ds;
    .......
    Connection conn = null;
    conn = ds.getConnection();
    Mais cela me donne une faute lors de son exécution du type:

    http Status 500
    exception
    java.lang.NullPointerException
    type: Exception report

    je vous remercie pour toute aide!!

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    ton datasource est initialisé quelque part ?

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Bonsoir vbrabant,

    merci pour votre réponse!
    Non, je ne l'avais pas fait!
    Donc je l'ai initialisé de cette manière:

    ds = (DataSource)DriverManager.getConnection("jdbc:mysql://localhost:3306/download","assign2","assign2pwd");

    Maintenant j'accéde à la page internet et plus à la page http Status 500!
    Par contre je n'accède toujour pas à mes données vu que après l'initialisation de la datasource le programme saute de suite dans le catch...

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    voici la partie du code...
    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
     
    try{
               ds = (DataSource)DriverManager.getConnection("jdbc:mysql://localhost:3306/download","assign2","assign2pwd");
                i++; 
               conn = ds.getConnection();
                String sqlQuery = "SELECT * FROM users";
                prpStmt = conn.prepareStatement(sqlQuery);
                rs = prpStmt.executeQuery();        
                while (rs.next()) {
                    i++;
                }
                rs.close();
                } catch ( SQLException e ) {
                System.err.println("SQL Exception occured while accessing the table" );
                e.printStackTrace();
                }

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Et c'est quoi l'erreur que tu as ?

    Et c'est quoi le but de ce code ? Compter le nombre de users ?
    Pas plus simple de faire un select count(*) from users et de lire le résultat, sans boucle du coup ?

    Vincent

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    non enfaite le problème était que je n'accède pas du tout au tableau
    dès la première ligne:

    ds = (DataSource)DriverManager.getConnection("jdbc:mysql://localhost:3306/download","assign2","assign2pwd");

    le programme sautait dirèctement dans le catch...donc il y a un problème de connection...
    La preuve est que mon compteur (i++) je l'ai mis pour voir s'il passait à certains endroit du code...mon but n'étant pas de compter...je voudrait faire enfaite une page d'authentification en jsp...

    J'ai donc changé la première ligne...mais sans succès...

    après la ligne
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/download","assign2","assign2pwd");
    le priogramme saute de suite dans le catch...



    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
     
           try{
     
               conn =  DriverManager.getConnection("jdbc:mysql://localhost:3306/download","assign2","assign2pwd");
                i++; 
                Statement stat = conn.createStatement();
                String sqlQuery = "SELECT * FROM users";
                ResultSet res = stat.executeQuery(sqlQuery);      
                while (res.next()) {
                    i++;
                }
                res.close();
                } catch ( SQLException e ) {
                System.err.println("SQL Exception occured while accessing the table" );
                e.printStackTrace();
                }    
     
           if (i == 0)
               errors.add("Loginpassword", new ActionMessage("error.LoginPassword.false"));
    Miguel

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Mais tu ne m'as toujours pas dit l'erreur exacte que tu avais.

    Donne nous le résultat du stack trace.

    Vincent

  8. #8
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.
    En effet, le stackTrace sera d'un grand secours !

    Sinon, penses à vérifier:
    - que tu as bien le connecteur mysql dans ton classpath.
    - Selon la version du connecteur que tu utilises, ajoutes avant ta première instruction la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName("org.gjt.mm.mysql.Driver");
    Voilou.
    Bonne chance.

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Merci pour vos deux réponses...

    c'est les premières pages que je crée en jsp...
    je sais pas comment je peux voir le stack trace vu que c'est une page internet...
    désolé...je suis vraiment nul...

    par contre j'ai regardé le serveur de NetBeans et lui me montre ceci:

    ---------------------------------------------------------------------
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1498)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    ...etc
    ----------------------------------------------------------------------

    j'ai essayé "org.gjt.mm.mysql.Driver" et c'est la même chose...
    il me manque un driver je pense, ou bien j'utilise le mauvais...
    mais comment je vois lequel utiliser et comment en installer??
    Je pense que j'ai besoin d'un fichier mysql.jar non?
    Mais où le mettre et où le prendre?

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Merci à tout les 2 pour votre aide...
    enfaite l'erreur était que je n'avais pas aditioné la librairie...
    j'ai donc aditioné la librairie de mysql et 2 de jdbc
    et ca marche...

    merci pour l'aide!!

    Miguel

  11. #11
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Voilou ! ce que tu nous as donné est bien le stackTrace !
    Et comme tu peux le voir, il te dit qu'il trouve pas le connecteru JDBC de MySql.
    Tu peux le récupérer ici:
    http://dev.mysql.com/downloads/connector/j/5.1.html.

    une fois que tu as extrait le fichier mysql-connector-java-5.1-bin.jar, tu vas dans netbeans et tu l'ajoutes à ton projet.

    Bonne chance.
    P.S: Utilises plutôt com.mysql.jdbc.Driver comme paramètre à Class.forName (comme indiqué dans leur site).

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    merci djo.mos!!
    Enfaite j'ai additioné tout de suite la librairie à partir de Netbeans,
    je n'ai même pas eu à la télécharger...
    Comme je suis encor un gros nul je n'ai même pas vu qu'il y
    avait une librairie qui manquait...
    Merci en tout cas pour l'aide!!!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/05/2014, 07h52
  2. Réponses: 0
    Dernier message: 23/07/2009, 09h37
  3. Récuperer les données d'une base de donnée via ODBC dans une variable
    Par arogues dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/04/2008, 15h27
  4. Réponses: 10
    Dernier message: 17/03/2007, 14h05

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