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 :

Petit souci JSP et class de connexion a BdD


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut Petit souci JSP et class de connexion a BdD
    alors voila
    quand je fais appel a cette JSP il me sort 2 jasperException sur "AccesBD" de "AccesBD maCnx = AccesBD();"
    si vous pouez m'aider prkoi il me remonte ces erreurs

    D'avance merci

    j'ai une page JSP qui donne une liste de personne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    ....
    <%
    AccesBD maCnx = AccesBD();
    maCnx.ConnectAccesBD("projet");
    java.sql.ResultSet rs = maCnx.executeQuery(requete);
    ...
    ...
     maCnx.FermerBd();
    %>
    ...

    avec une classe AccesBD :
    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
    /**Class de connexion a la base de Donnée*/
    public class AccesBD {
        private java.sql.Connection maConnexion;
        private java.sql.Statement monStatement;
     
        /** Constructeur */
        public AccesBD(){
     
           }
       /**Connection à la base de donnée*/  
        public void ConnectAccesBD(String maBdd) {
            String nomDriver ="org.gjt.mm.mysql.Driver";
            String url ="jdbc:musql://localhost:8080/"+maBdd;
            String login ="root";
            String password ="java";
     
            maConnexion = null;
            monStatement = null;
     
            try{
                Class.forName(nomDriver);
                maConnexion = java.sql.DriverManager.getConnection(url,login,password);
                monStatement = maConnexion.createStatement();
            } catch (Exception e){
                e.printStackTrace();
            }
        }
            /**Fermer la connexion à la base de donnée*/
            public void FermerBd(){
                try {
                maConnexion.close();
                monStatement.close();
     
                } catch (Exception e){
                    e.printStackTrace();
                }
             }
    }

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Il semblerait que l'url de ta connection soit mauvaise :

    dans "jdbc:musql://localhost:8080/"+maBdd , que signifie musql?

    Sinon donne nous la pile complete de ton exception, ca sera surement plus comprehensible.

  3. #3
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut reu
    j'ai corriger l'adresse url

    et voici l'exception remonté :

    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
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
     
    Une erreur s'est produite à la ligne: 31 dans le fichier jsp: /ListUtilisateur.jsp
    Erreur de servlet générée:
    C:\Documents and Settings\Stephane\.netbeans\5.0\jakarta-tomcat-5.5.9_base\work\Catalina\localhost\projet\org\apache\jsp\ListUtilisateur_jsp.java:89: cannot find symbol
    symbol  : class AccesBD
    location: class org.apache.jsp.ListUtilisateur_jsp
    AccesBD maCnx = AccesBD();
    ^
     
     
    Une erreur s'est produite à la ligne: 31 dans le fichier jsp: /ListUtilisateur.jsp
    Erreur de servlet générée:
    C:\Documents and Settings\Stephane\.netbeans\5.0\jakarta-tomcat-5.5.9_base\work\Catalina\localhost\projet\org\apache\jsp\ListUtilisateur_jsp.java:89: cannot find symbol
    symbol  : method AccesBD()
    location: class org.apache.jsp.ListUtilisateur_jsp
    AccesBD maCnx = AccesBD();
                    ^
    2 errors
     
     
     
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    	org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java:246)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

  4. #4
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    Dans la jsp, ce serait pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AccesBD maCnx = new AccesBD();
    ?

  5. #5
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut et nooooon
    non avec ou sans le new, j'ai la meme erreur
    alors comme ça fait une semaine que je cherche dans tous les sens, je pense qu'un oeil extérieur et plus expérimenté que le mien saura repéré ce qui manque

    Mais toute supposition est la bienvenue.
    D'avance merci

  6. #6
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Points : 49
    Points
    49
    Par défaut
    tu utilises quelle base de donnée?

  7. #7
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut reu
    une base de donnée mysql mais c peut etre pas la question ?

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonsoir,

    as-tu bien déclaré les imports pour les classes que tu utilises dans la JSP ?

    Eric

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    oui apparemment il ne trouve pas la classe AccesBD.
    <jsp:directive.page import="monPackage.AccesBD " />
    ou <%@ page import="..." %>

  10. #10
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut arf
    J'ai essayé les 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@ page import="AccesBD" %> ou <jsp:directive.page import="AccesBD" />
    [....
    et les 2 me remontent la meme erreur :il montre le point virgule mais '.' expected ?? je ne comprends pas


    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
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
     
    Erreur de servlet générée:
    C:\Documents and Settings\Stephane\.netbeans\5.0\jakarta-tomcat-5.5.9_base\work\Catalina\localhost\projet\org\apache\jsp\ListUtilisateur_jsp.java:6: '.' expected
    import AccesBD;
                  ^
    1 error
     
     
     
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    	org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java:246)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonjour,

    il faut mettre le chemin complet Dans quel package est ta classe ?

  12. #12
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut aucun paquetage
    Je n'ai pas fais de paquetage pour l'instant

    c pour ça que la classe AccesBD "il ny a pas "package ..."

    donc sans paquetage il ya juste a declarer le fichier non ?

  13. #13
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut paquetager
    j'ai mis ma classe dans un paquetage
    et l'erreur a changé de place

    classe AccesBD :
    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
    package fr.cassoto.bdd;
     
    /**Class de connexion a la base de Donnée*/
    public class AccesBD {
        private java.sql.Connection maConnexion;
        private java.sql.Statement monStatement;
     
        /** Constructeur */
        public AccesBD(){
     
           }
       /**Connection à la base de donnée*/  
        public void ConnectAccesBD(String maBdd) {
            String nomDriver ="org.gjt.mm.mysql.Driver";
            String url ="jdbc:mysql://localhost:8080/"+maBdd;
            String login ="root";
            String password ="java";
     
            maConnexion = null;
            monStatement = null;
     
            try{
                Class.forName(nomDriver);
                maConnexion = java.sql.DriverManager.getConnection(url,login,password);
                monStatement = maConnexion.createStatement();
            } catch (Exception e){
                e.printStackTrace();
            }
        }
    ma page JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%@ page import="fr.cassoto.bdd.AccesBD" %>
    [...]
     <%
    String requete = "Select Idclient, nom, prenom, droit.droit from client, droit where client.droit=droit.iddroit order by iddroit, nom,prenom";
     
    AccesBD maCnx = new AccesBD();
    maCnx.ConnectAccesBD("projet");
    java.sql.ResultSet rs = maCnx.executeQuery(requete);
    l'erreur :
    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
     
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
     
    Une erreur s'est produite à la ligne: 32 dans le fichier jsp: /ListUtilisateur.jsp
    Erreur de servlet générée:
    C:\Documents and Settings\Stephane\.netbeans\5.0\jakarta-tomcat-5.5.9_base\work\Catalina\localhost\projet\org\apache\jsp\ListUtilisateur_jsp.java:84: cannot find symbol
    symbol  : method executeQuery(java.lang.String)
    location: class fr.cassoto.bdd.AccesBD
    java.sql.ResultSet rs = maCnx.executeQuery(requete);
                                 ^
    1 error
     
     
     
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)

  14. #14
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    sur ma fonction ConnectAccesBD je voulais lui faire retourner un Statement
    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
     
    public Statement ConnectAccesBD(String maBdd) {
            String nomDriver ="org.gjt.mm.mysql.Driver";
            String url ="jdbc:mysql://localhost:8080/"+maBdd;
            String login ="root";
            String password ="java";
     
            try{
                Class.forName(nomDriver);
                maConnexion = java.sql.DriverManager.getConnection(url,login,password);
                monStatement = maConnexion.createStatement();
               return monStatement;
            } 
            catch (java.sql.SQLException e){
                System.out.println("Error : Erreur de creation de la connection");
                e.printStackTrace();
            }
            catch(ClassNotFoundException e){
                System.out.println("Error : Erreur de chargement du driver");
                e.printStackTrace();
            }
          return null;
        }
    mais visiblement il n'aime pas la signature de ma fonction
    pourkoiiiiii ???

Discussions similaires

  1. [JSP / MySQL] Problème de connexion à la BDD
    Par harkrisz dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 04/01/2013, 15h27
  2. Conseil sur une classe de connexion à ma bdd
    Par 0redd dans le forum JDBC
    Réponses: 5
    Dernier message: 21/10/2010, 01h24
  3. Petit soucis avec Thread::Queue et une classe
    Par vodevil dans le forum Web
    Réponses: 16
    Dernier message: 09/06/2006, 21h41
  4. class template : quelques petits soucis
    Par ToxiZz dans le forum Langage
    Réponses: 1
    Dernier message: 09/02/2006, 23h08
  5. Petit souci sur la libération d'une connexion tcp
    Par alexandre75 dans le forum Développement
    Réponses: 1
    Dernier message: 08/11/2005, 19h43

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