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

Struts 1 Java Discussion :

objet HttpSession peut-il être null


Sujet :

Struts 1 Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut objet HttpSession peut-il être null
    Bonjour, je me posais la question suivante :
    Est-il possible que lorsque dans la méthode Exectute(mapping, form, request, response) de mon Action struts, lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpSession session = request.getSession();
    Est-il possible que l'objet session que je récupère depuis la request soit null ?

    (c'est pour faire de la robustesse de code, savoir si je teste la valeur nulle avant de faire un session.setAttribute())



    Merci d'avance de vos réponses

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Je sais que lorsque la session dépasse le timeout et est donc expirée, tous ses attributs sont enlevés de la session, mais à ce moment là la session n'est pas nulle....

    Mais serait il possible que celle ci le soit (nulle), et si oui, dans quels cas cela se produirait-il ?

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Lorsque tu codes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpSession session = request.getSession();
    l'objet session ne sera jamais null parce que si la session existe, la méthode getSession() renvoie la session existante, sinon, elle crée une nouvelle session.

    Le seul cas où la méthode getSession peut renvoyer null c'est lorsque tu codes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HttpSession session = request.getSession(false);
    dans ce cas, si la session existe, la méthode renvoie la session existante, sinon elle renvoie null.

    Il n'y a donc que dans le cas où tu passes le paramètre false qu'il est utile d'ajouter un test sur l'objet session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    HttpSession session = request.getSession(false);
    if ( session != null )
    {
       ...
    }

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Merci pour l'info.... J'aurais dû regarder un peu plus la javadoc, j'aurais dû le voir....

    Mais en tout cas merci

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

Discussions similaires

  1. [Débutant] La valeur ne peut pas être null. Nom du paramètre : objectType
    Par ozthewizard dans le forum VB.NET
    Réponses: 7
    Dernier message: 30/09/2011, 09h06
  2. Réponses: 3
    Dernier message: 18/08/2010, 15h26
  3. Réponses: 5
    Dernier message: 20/08/2009, 11h02
  4. Un token peut-il être null ?
    Par mouxounet dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 16/12/2008, 18h10
  5. Une Foreign Key peut-elle être null ?
    Par bassim dans le forum Firebird
    Réponses: 9
    Dernier message: 21/11/2006, 20h20

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