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 :

comment recuperer l'id à partir la session


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Points : 14
    Points
    14
    Par défaut comment recuperer l'id à partir la session
    bonjour,

    voila j'ai une page d'autentification (servlet/jsp)avec un pseudo et mdp qui sont stockés dans une table client(idClient,nomClient,mdp)(mysql) apres je recupere le nomClient avec (session.getAttribute("client")), je souhaite recuperer "idClient" apartir de ça pour pouvoir l'utiliser dans ma servlet qui gère un formulaire. je ne sais pas comment faire?

    Merci d'avance

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139
    Par défaut
    si tu fais un session.getAttribute("client"), c'est que quelque part, il y a eu un setAttribute("client",value), il suffit de faire également un setAttribute("idClient",value) au même endroit.

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 78
    Points
    78
    Par défaut
    bonjour,

    à mon avis tu dois avoir un objet de type javabean qui des setters et des getters. donc quand l'utilisateur est authentifié il faut stocker un objet javabean dans la session et quand t'en as besoin il suffit de le récupérer avec Client client_courant=getAttribute("client_authentifier");
    après tu fais un echo sur client_courant.getIdClient();et client_courant.getNom();

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    Merci molesqualeux et Aziz pour vos réponse.
    molesqualeux :
    l'endroit ou je fait setAttribute("client",value c'est au moment de l'authentification et parce que le pseudo c'est le nom du client donc quand je fait setAttribute("idClient",value) au même endroit, il me fait une message d'erreur de type que le value n'existe pas.

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139
    Par défaut
    Oui il faut aller la chercher en "base"
    Un peu de code serait bienvenue pour voir où tu vérifies que le pseudo et le pass sont okai.
    C'est à cet endroit que tu peux surement faire deux pierres d'un coup.

    Genre : Select id,count(id) FROM people WHERE login = ... and password = ..

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    voila j'ai dans un package Dao une Fabrique, une classe utilConnexion, une interface : IdonneesClient, et une implementation DonneesClientMysql dans cette derniere j'ai ce 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    public Boolean verifLoginPass(Client client, String loginAVerif, String passAVerif) {
            cnx = UtilConnexion.getConnection();
            boolean retourVerifLoginPass= false;
            try {    
    Statement stmt=cnx.createStatement();
    //Selection des tuples dans lesquelles LOGIN="pseudo"
            ResultSet rs=stmt.executeQuery("select * from Client where nomClient = '" + loginAVerif + "'");
                //Verification du "pseudo" et du "pass"
                int a=0;
     
                while(rs.next())
                {
                    //la variable "passe" correspond au mot de passe correspondant au login dans la base de données
                    String passe=rs.getString("mdp");
                    //Si "passe"="pass" alors le participant existe
                    if(passe.equals(passAVerif))
                    {
                        a=1;
                        //prenom=rs.getString("nomCmp");
                        break;
                    }
                    //b++;
                }
     
                //Si le participant existe
                if(a==1){
                    retourVerifLoginPass=true;
                }
     
     
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                try {
                    cnx.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return retourVerifLoginPass;    
        }
    pour le traitement du donnees j'ai une servlet Identifiant dans sa methode post j'ai ça :
    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
     
    Client client = null;
            HttpSession session = request.getSession();
     
        if(request.getParameter("pseudo")!=null){
            client = new Client();
        try{
        String pseudo =request.getParameter("pseudo");
        System.out.println(pseudo);
        String pass=request.getParameter("passe");
     
        IdonnneesClient dao = FabriqueDao.getDaoClient();
        boolean    test = dao.verifLoginPass(client,pseudo,pass);
     
        if(test == true){
        session.setAttribute("client", pseudo);
        if (pseudo.equals("admin")){
                                System.out.println("MOI AMDIN");
                                request.getRequestDispatcher("admin.jsp").forward(request, response);
        }else{
                                System.out.println("IDcmp: \t" + dao.getIDclient(pseudo));
                                System.out.println("MOI PAS AMDIN");
                                request.getRequestDispatcher("PriseRdv.jsp").forward(request, response);
    }}                    
    else{
    String msg = "Veuillez entrer un identifiant correct";
    request.setAttribute("msg", msg);
    request.getRequestDispatcher("index.jsp").forward(request, response);
                        }
    }catch (Exception e) {
    String msg = "Veuillez entrer un identifiant correct (numérique)";
        request.setAttribute("msg", msg);
    request.getRequestDispatcher("index.jsp").forward(request, response);
                    }
                }
            }
        }

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139
    Par défaut
    Dans ta première boucle while , tu peux mettre en session l'ID.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HttpSession session = request.getSession();
    session.setAttribute("id",rs.getString("id"));
    quelque chose de la sorte.
    Tu comprends ce qu'on fait?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    desolée mais je ne comprends pas ce que tu me dis ,je suis debutante
    //
    Dans ta première boucle while , tu peux mettre en session l'ID.

    Code :
    HttpSession session = request.getSession();
    session.setAttribute("id",rs.getString("id"));


    la premier boucle c'est dans une methode qui verifie le login et le pass j'ai pas de request c'est plus dans ma servlets.

    je ne sais pas mais c'est un peu flou pour moi.

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139
    Par défaut
    ResultSet rs=stmt.executeQuery("select * from Client where nomClient = '" + loginAVerif + "'");
    //Verification du "pseudo" et du "pass"
    int a=0;

    while(rs.next())
    {
    //la variable "passe" correspond au mot de passe correspondant au login dans la base de données
    String passe=rs.getString("mdp");
    //Si "passe"="pass" alors le participant existe
    if(passe.equals(passAVerif))
    {
    a=1;
    //prenom=rs.getString("nomCmp");
    break;
    }
    //b++;
    }
    Dans ton select * .... tu récupères (trop) des informations dont le pseudo, login, id....
    Tu peux récupérer l'id grâce à rs.getString("id") <-- si id est la colonne dans ta bdd.

    Une fois récupérée, l'idée est de mettre cet id soit en session soit en request.
    Dans tous les cas, ton souhait est de le mettre en session.

    http://java.sun.com/products/servlet...tpSession.html

    Comprends-tu mieux?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    oui je vois mieux,
    je vais tester votre proposition, merci pour le temps que vous m'avez consacré.

Discussions similaires

  1. comment recuperer l'id de ma session dans une page jsf
    Par riadhhwajdii dans le forum JSF
    Réponses: 0
    Dernier message: 10/09/2009, 12h32
  2. Comment recuperer la valeur d'une variable de session avec du javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 10h40
  3. Réponses: 3
    Dernier message: 12/07/2006, 16h33
  4. Réponses: 6
    Dernier message: 05/05/2006, 14h47
  5. Réponses: 4
    Dernier message: 05/05/2006, 09h34

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