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

GWT et Vaadin Java Discussion :

GWT et base de données MySQL


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 83
    Par défaut GWT et base de données MySQL
    Bonsoir,

    Après plusieurs tutoriaux et une période d'apprentissage de la techno GWT, je me lance dans un projet de site web personnel.

    Pour ce site, j'ai besoin d'une base de données, j'ai choisi MySQL puisque je connais déjà. J'ai donc pris la dernière version d'easyPHP que j'utilise déjà pour les sites traditionnels.

    Cependant, lorsque je réalise une connexion à la base depuis mon appli GWT, une exception est soulevée.
    Voici le 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public List<LigneEtudesBean> ligneEtudes() throws Exception{
     
    		String pilote = "com.mysql.jdbc.Driver";
    		List<LigneEtudesBean> listeLigneEtude = new ArrayList<LigneEtudesBean>();
     
    		try{
     
    			Class.forName(pilote).newInstance();
     
    			Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/gregbase","root","");
     
    			Statement instruction = connexion.createStatement();
     
    			ResultSet resultat = instruction.executeQuery(SQL.requeteLigneEtudes);
    			while(resultat.next()){
    				listeLigneEtude.add(new LigneEtudesBean(resultat.getString("anneeScolaire"),
    						resultat.getString("etablissementScolaire"), resultat.getString("classeNiveau"), resultat.getString("anneeScolaire"),
    						resultat.getString("anneeScolaire"), resultat.getString("anneeScolaire"), resultat.getString("anneeScolaire"), 
    						resultat.getString("anneeScolaire"), resultat.getString("anneeScolaire"), resultat.getString("anneeScolaire")));
    			}			
    		}
    		catch (Exception e){
    			throw new Exception(e);
    		}
    		return listeLigneEtude;
    	}
    Voici la trace:

    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
     
    java.lang.Exception: java.sql.SQLException: java.lang.NoClassDefFoundError: java.net.InetAddress is a restricted class. Please see the Google  App Engine developer's guide for more details.
    	at fr.GregSite.server.InterrogationBDD.ligneEtudes(InterrogationBDD.java:37)
    	at fr.GregSite.server.ServiceRPCImpl.ListeLigneEtudes(ServiceRPCImpl.java:24)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)
    	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
    	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
    	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    	at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    	at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:326)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
    Caused by: java.sql.SQLException: java.lang.NoClassDefFoundError: java.net.InetAddress is a restricted class. Please see the Google  App Engine developer's guide for more details.
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:433)
    	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at fr.GregSite.server.InterrogationBDD.ligneEtudes(InterrogationBDD.java:24)
    	... 37 more
    1 août 2010 21:11:41 com.google.appengine.tools.development.LocalResourceFileServlet doGet
    ATTENTION: No file found for: /favicon.ico
    Le problème semble venir du fait qu'une classe n'est pas autorisée par GWT.

    Pourtant, lorsque j'ai commencé à me servir de GWT, l'on m'avais dis que sur la partie serveur, je pouvais mettre ce que je voulais niveau java.

    Si tel n'est pas le cas, comment faites-vous pour utiliser une base de données sur une application GWT?


    Merci d'avance

    Grégory

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Par défaut
    Bonjour,
    Essayes d'enlever le port ":3306" dans getConnection, ça te corrigera peut être ton erreur.
    Sinon, je peux voir ta requête sql ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut
    Bonjour,

    Apparemment, tu utilises le Google App Engine dans ton projet qui n'utilise pas de BDD MySQL. Soit tu désactives cette fonctionnalité pour ton projet, soit tu utilises les APIs fournis par Google. Regarde sur le site de Google, c'est très bien expliqué.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 83
    Par défaut
    En effet j'utilisais App Engine.

    Du coup j'ai re-créer un projet sans App Engine, j'ai remis les sources et les drivers, et c'est impeccable, ça marche.

    Merci à tous les deux de m'avoir répondu.

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

Discussions similaires

  1. GWT accès à une base de donnée Mysql
    Par inforedaster dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 22/11/2011, 23h20
  2. [JDBC]acces à une base de données mysql
    Par sehaba dans le forum JDBC
    Réponses: 13
    Dernier message: 07/12/2004, 00h39
  3. probleme construction base de donnes MySql...Help
    Par chakan dans le forum Requêtes
    Réponses: 7
    Dernier message: 21/07/2004, 11h27
  4. connection à base de donnée MYSQL
    Par zouzou_zaza dans le forum Bases de données
    Réponses: 11
    Dernier message: 04/07/2004, 12h31
  5. XML->Base de donnée Mysql
    Par lheureuxaurelie dans le forum XQUERY/SGBD
    Réponses: 4
    Dernier message: 10/03/2004, 23h47

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