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 :

Page de connexion en GWT


Sujet :

GWT et Vaadin Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Par défaut Page de connexion en GWT
    Bonjour,

    Voila je dois créer une application de gestion sous GWT. Pour y acceder je dois mettre en place une page de connexion ! Quelqu'un sait il comment s'y prendre ?

    Je sais faire en PHP MySQL mais en gwt je ne sait pas tro comment m'y prendre !

    D'ailleur j'ai aussi un petit problème ! avec GWT peut on réaliser un site en entier ? ou il sert juste a créer des service qui seront include en suite dans une page internet ?

    Connexion => Gestion

    Comment procéderiez vous ?

    Merci beaucoup

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Par défaut
    GWT permet de réaliser une site complet de A à Z sans écrire une seule ligne d'HTML !

    Pour la partie connexion, il faut créer un Panel Login qui se connecte à un service Login qui lui se connetce à ta base de données ! Ensuite, si le résultat est bon, tu rediriges ton Panel Login vers un Panel Gestion !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 142
    Par défaut
    ok merci

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 113
    Par défaut
    Bonjour!

    J'ai également un soucis pour me connecter à une base mysql.

    Pour la partie connexion, il faut créer un Panel Login qui se connecte à un service Login
    Le "service" est un fichier spécial ou alors il est possible de se connecter depuis la classe qui hérite de EntryPoint?

    J'ai une classe Connexion opérationnel qui marche avec le code ci dessous :
    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
     
        public static Connection ouvrirConnexion()
        {
     
                try
                {
                    // Charge le driver JDBC
                    String driver = "com.mysql.jdbc.Driver";
                    Class.forName(driver);
     
                    // Créer la connexion avec la base
     
                    String nomMachine = "localhost:3306";
                    String nomBase = "test";
                    String username = "root";
                    String password = "admin";                                 
     
                    String url = "jdbc:mysql://"+ nomMachine +"/" + nomBase;               
     
                    return  DriverManager.getConnection(url, username, password);                     
                }          
                catch (ClassNotFoundException e)
                {
                    e.printStackTrace();
                    System.err.println("Ne trouve pas le driver !!");
                }
                catch (SQLException e)
                {
                    e.printStackTrace();
                    System.err.println("N'arrive pas a se connecter a la base !!");
                }
            return null;
        }
    Seulement mon eclipse me met des erreur lorsque je veux récupérer ma connection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.sql.Connection can not be found in source packages. Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly.	MyGWT/src/com/developpez/exemple/gwt/client	MonApplication.java	line 28	1194864688173	12497
    J'ai pourtant bien fait l'import de java.sql.*; et j'ai bien importé le driver de mysql dans mon build path.

    Est-ce que mon utilisation est bonne ou dois-je faire autrement ?
    Merci :p

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 113
    Par défaut
    Non oki je viens de comprendre ...

    Il faut passer par un service RPC si j'ai bien compris.
    Autant pour moi .

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 113
    Par défaut
    Si en fait j'ai quand meme une question... :p

    Je souhaite utiliser la classe Connection située dans le Package java.sql.*.
    J'ai suivi la procedure poru créer un service RPC.
    Dans la déclaration des méthodes de mon interface, les types de retour standard passent bien mais pas cette classe alors que l'import ce fait correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import java.sql.*;
     
    import com.google.gwt.core.client.GWT;
    import com.google.gwt.user.client.rpc.RemoteService;
    import com.google.gwt.user.client.rpc.ServiceDefTarget;
     
    public interface ConnexionService extends RemoteService
    {
    	public Connection ouvrirConnection();	// Erreur
    }
    Comment faire pour utiliser cette classe ?

    Merci

  7. #7
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Par défaut
    Il faut bien comprendre que le Java que tu ecrit avec gwt, est utilisé pour generer du JavaScript qui lui va s'executé coté client (ce n'est pas le code java qui sera executé au final) et a ma connaissance il n y a pas de moyen directe de ce connecter à une base de donné sous JavaScript (d'ailleur coté sécurité ca sera lamentable.)

    Si tu veux absolument utilisé les classes sql de Java, il faut etre coté server, là ton programme Java va directement interrogé la base de donnée et extraire les données qui t'interessent. Pour recuperer ces données coté gwt tu devra passé par du RPC.

    Remarque importante: tu n'es pas obligé, coté server, de passer par du Java. N'importe quelle langage pouvant etre executé coté server fera l'affaire. (PHP, Python, Ruby, etc etc)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Par défaut
    Salut, je vois que cette discussion date un peu et j'espère que tu as réglé ton problème depuis. Sinon, ceci peut peut-être t'aider

    Pour utiliser ta classe java de connexion à la base de données, tu dois suivre le tuto de cette page :

    http://code.google.com/webtoolkit/do...dureCalls.html

    En gros, l'idée est la suivante:

    1. tu crées 2 interfaces côté client (une qui étend la RemoteService et l'autre asynchrone qui sera effectivement appelée).

    2. côté serveur tu crées une servlet qui étend la RemoteServiceServlet et qui implémente l'interface qui étend la RemoteService.

    En fait, tu peux pousser la chose un peu plus loin en organisant ton code en 2 sous projets: un projet GWT (dans lequel tu fais ton IU et tes appels RPC) et un second projet de pure JAVA dans lequel tu fais tous tes traitements métier.

    En fait le second projet n'est rien d'autre qu'une librairie de classes Java qui vont effectuer tous les services métier de ton site. Ta partie GWT ne fait donc qu'appeler les services de ta partie JAVA. En temps d'exécution, tu dois produire un jar de ton projet JAVA qui sera inclus dans les librairies de ton projet GWT (le répertoire lib dans ton projet final).

    Si tu le souhaites, tu peux même créer plusieurs sous projets JAVA, correspondants à différents traitements métier, donc plusieurs librairies, donc plusieurs jar à inclure dans ton répertoire lib.

    ++,
    ccm.properties

    Gérer son code est parfois plus difficile que coder

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 6
    Par défaut
    Salut, j'ai lu votre conversation mais j'ai tuojours un prblm pr me connecter a ma base de donnée.
    Voila deja les log renvoyé:
    Compiling module com.mycompany.FirstAppli
    Refreshing module from source
    Validating newly compiled units
    Removing units with errors
    [ERROR] Errors in 'file:/C:/.../workspace/FirstAppli/src/com/mycompany/client/ConnexionService.java'
    [ERROR] Line 12: No source code is available for type java.sql.Connection; did you forget to inherit a required module?
    Removing invalidated units
    [WARN] Compilation unit 'file:/C:/.../workspace/FirstAppli/src/com/mycompany/client/FirstAppli.java' is removed due to invalid reference(s):
    [WARN] file:/C:.../workspace/FirstAppli/src/com/mycompany/client/ConnexionService.java
    Computing all possible rebind results for 'com.mycompany.client.FirstAppli'
    Rebinding com.mycompany.client.FirstAppli
    Checking rule <generate-with class='com.extjs.gxt.ui.rebind.core.BeanModelGenerator'/>
    [ERROR] Unable to find type 'com.mycompany.client.FirstAppli'
    [ERROR] Hint: Previous compiler errors may have made this type unavailable
    [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
    J'ai pourtant bien créer la classe coté serveur et les 2 interface coté client.
    J'ai bien ajouter a mon BuildPath mon jar mysql!
    J'ai besoin d'aide car sans connexion a une base je ne peux pas avancer ds mon projet :s
    merci d'avance

  10. #10
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Citation Envoyé par lancer83 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import java.sql.*;
     
    import com.google.gwt.core.client.GWT;
    import com.google.gwt.user.client.rpc.RemoteService;
    import com.google.gwt.user.client.rpc.ServiceDefTarget;
     
    public interface ConnexionService extends RemoteService
    {
    	public Connection ouvrirConnection();	// Erreur
    }
    Si ce code a changé, indique nous le nouveau ...

    Si ce code n'a pas changé, comme il t'a été dit, tu ne peux pas utiliser certaines classes Java côté client (traduction en javascript) : java.sql.Connection en fait partie et même si toute ton implémentation est bien côté serveur, tu fais référence dans ta partie cliente à du code interdit.

    Pose toi la question : que vas tu faire de ta connexion ensuite ?
    Avec la connexion, je vais vérifier par une requête SQL si mon utilisateur existe dans ma base de donnée par exemple.
    Pourquoi faire cela côté client ? Fais le côté serveur. Envois à ton service, le login/password saisi, vérifie côté serveur (tu peux faire tous ce que tu veux) et retourne un booléen/entier/String ou tout type compatible client.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2008, 13h23
  2. [phpMyAdmin] Changer le titre de la page de connexion
    Par stanley dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/10/2007, 15h54
  3. Retour à la même page après connexion
    Par bruburque dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2007, 17h38
  4. administrateur page de connexion
    Par kitty2006 dans le forum Langage
    Réponses: 6
    Dernier message: 26/09/2006, 23h03
  5. Comment retourner à sa page apres connexion?
    Par feti2004 dans le forum Langage
    Réponses: 5
    Dernier message: 03/04/2006, 10h46

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