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 :

Session entre les servlets


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2012
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Session entre les servlets
    Bonsoir,
    J'ai actuellement un gros soucis, sur ma servlet de connexion je créé une session, le soucis est que je n'arrive pas à la récupérée sur une autre servlet, il veut me créé une nouvelle session même en lui disant false dans son paramètre d'entrée.


    Voici le code de deux servlets :


    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
    55
    56
     
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
            try {
     
                // Déclaration des variables de transmission
                HttpSession session = request.getSession();
                ArrayList<Object> reception = new ArrayList<Object>();
                boolean renvoi;
     
                // Reception des données client
                ObjectInputStream entree = new ObjectInputStream(request.getInputStream());
     
                reception = (ArrayList<Object>) entree.readObject();
     
                int numcompte = Integer.parseInt((String)reception.get(0));
                String codesecret = (String)reception.get(1);               
     
                // Fermeture de la connexion entrante
                entree.close();
     
                // Gestion EJB et Sessions      
                CompteManagerRemote compteManager = EJB_Locator.getLocator().getCompteManager();
                DistributeurManagerRemote distribManager = EJB_Locator.getLocator().getDistributeurManager();
     
                Compte compte = compteManager.compte(numcompte);
                Distributeur distrib = distribManager.distributeur(Session_Manage.Id_distributeur);
     
                if(compte != null && distrib != null) 
                {
                    session.setAttribute("compte", compte);
                    session.setAttribute("client", compte.getClient());
                    session.setAttribute("distributeur", distrib);
     
                    // Vérification du code secret
                    renvoi = Session_Manage.client.getCodesecret().equalsIgnoreCase((String)codesecret);
                }
                else
                    renvoi = false;
     
                // Renvoi des données au client
                ObjectOutputStream sortie = new ObjectOutputStream(response.getOutputStream());
     
                sortie.writeObject(renvoi);
     
                // Nettoyage des variables
                reception.clear();
     
                // Fermeture de la connexion sortant
                sortie.close();
     
            } catch (ClassNotFoundException e) {
                System.out.println(e);
            }
     
        }

    Et voici l'autre servlet :


    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
     
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
        try {
     
            // Déclaration des variables de transmission
            HttpSession session = request.getSession(false);
            Compte compte = (Compte)request.getAttribute("compte");
            ArrayList<Object> renvoi = new ArrayList<Object>();
     
            // Reception des données client         
            ObjectInputStream entree = new ObjectInputStream(request.getInputStream());
     
            // Fermeture de la connexion entrante
            entree.close();
     
            // Préparation du renvoi des opérations
            for(Operation op : Session_Manage.compte.getOperation())
            {
                renvoi.add(op.getIntitule()+" | "+op.getMontant()+"€");
            }
     
            // Renvoi des données au client
            ObjectOutputStream sortie = new ObjectOutputStream(response.getOutputStream());
     
            sortie.writeObject(renvoi);
     
            // Nettoyage des variables
            renvoi.clear();
     
            // Fermeture de la connexion sortant
            sortie.close();
     
        } catch (Exception e) {
            System.out.println(e);
        }
     
    }

    Pour les variables Session_Manage.compte etc. se sont des variables static en attendant que mes sessions fonctionnent.


    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Points : 399
    Points
    399
    Par défaut
    Bonjour,

    le problème ne vient peut-être pas du code côté serveur, à savoir tes servlets, mais du client.
    Il serait intéressant que tu t'assures que l'appelant de tes pages parvienne à maintenir la session ( en général via le cookie JSESSION_ID ).

    Cordialement,
    Sébastien Desbois

Discussions similaires

  1. Problème session avec les servlet
    Par Didiplouf dans le forum Java EE
    Réponses: 1
    Dernier message: 19/05/2011, 12h50
  2. Partage de l'imprimante entre les sessions
    Par hardredman dans le forum Windows XP
    Réponses: 3
    Dernier message: 18/09/2008, 19h13
  3. Partage de variable entre les sessions
    Par zinia dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 21/07/2008, 17h20
  4. infos de session entre servlet et jsp
    Par kam81 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/07/2008, 17h48
  5. lien entre les items d'un menu en javascript et les servlets
    Par Smix007 dans le forum Services Web
    Réponses: 2
    Dernier message: 26/01/2007, 15h26

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