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] modification session-timeout en runtime [FAQ]


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut [Session] modification session-timeout en runtime
    Bonjour,

    Mon client aimerait si possible avoir la possibilité de modifier en runtime le temps de durée d'une session utilisateur. Je ne pense pas que ça soit possible car ce temps est stipulé dans le fichier web.xml qui est configuré au lancement de l'application. non ?

    Merci

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Et l'application, quelle est-elle ? Tu as créé ton propre serveur Web ?
    Ta question manque cruellement de détails
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession().setMaxInactiveInterval(int secondes)
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Sauf que là, à priori c'est pour la session en cours et pas pour toutes les futures sessions.

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    dinobogan --> c'est une appli web j2ee/struts tournant sur un serveur weblogic

    effectivement fr1man, je souhaite modifier le temps de session pour toutes les futurs sessions donc forcément modification du web.xml non ?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    A moins de créer une classe qui implémente HttpSessionListener, d'implémenter la méthode sessionCreated et d'utiliser la méthode donnée par OButterlin.
    Il faudra déclarer ce listener dans la rubrique adéquate du web.xml.

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Et accessoirement passer par une sérialisation / désérialisation pour persister le paramètre timeout (ou db par exemple)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    oki, ça me semble tres chiant pour une fonctionnalité que mon client n'utilisera sans doute qu'une fois dans sa vie.je pense que je vais dire à mon client que c'est techniquement impossible. Il pourra modifier la valeur du timeout qu'avant le déploiement de l'appli.

    merci en tout cas pour vos réponses.

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Cela n'est pas très compliqué à faire.
    Fais attention à ne pas te griller en lui disant que ce n'est pas possible.

  10. #10
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Fais attention à ne pas te griller en lui disant que ce n'est pas possible.
    Surtout si ton client est un adepte de www.developpez.net et qu'il code un peu en Java à ses moments perdus
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Cela n'est pas très compliqué à faire.
    Fais attention à ne pas te griller en lui disant que ce n'est pas possible.
    Bien d'accord

    Mieux vaut rester évasif, on peut tomber sur un client qui à des connaissances et là, tu passeras définitivement pour un mickey !
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    vous inquietez pas, je ne pensais pas lui dire que c'était techniquement impossible mais plutot que la charge de travail ne vaudrait pas vraiment le coup pour une fonctionnalité qu'il n'utilisera pratiquement jamais. Et en plus, y a aucun risque qu'il vienne sur developpez

    Je vais réfléchir encore un peu..

    Editer :

    Apres reflexion, je me dis que c'est pas super compliqué à mettre en place.

    Pour être bien sûr d'avoir compris, la classe qui va implémenter mon HttpSessionListener sera appelé automatiquement a chaque fois qu'un utilisateur se connecte.
    J'aurais en gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class MaSessionListener implements HttpSessionListener {
    	public void sessionCreated(HttpSessionEvent hse) {
    		// recuperation du timeout dans la bdd
    		timeout = MonService.getTimeout();
    		hse.getSession().setMaxInactiveInterval(timeout);	
    	}
     
    	public void sessionDestroyed(HttpSessionEvent hse) {
    		// TODO Auto-generated method stub	
    	}
    }
    et dans mon web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <listener>
        <listener-class>MaSessionListener</listener-class>
    </listener>

  13. #13
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par défaut
    re

    j'ai éssayé la méthode juste au dessus mais ça n'a pas l'air de fonctionner..

    [EDIT] sorry, j'avais mal fait mon test et cela fonctionne bien. Par contre est ce que ça fonctionne comme je l'ai décrit dans mon post précédent ?

    Merci

  14. #14
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Oui c'est ça !

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

Discussions similaires

  1. [Data] Création d'une session avec des données du runtime
    Par NeedToHelp dans le forum Spring
    Réponses: 2
    Dernier message: 17/07/2009, 11h13
  2. Réponses: 2
    Dernier message: 11/09/2006, 10h49
  3. [Session]jsp session
    Par youss dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 23/05/2005, 11h48
  4. [Session Context] session non transmise
    Par patricetouner dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/12/2004, 14h56
  5. Alter Session : question de TimeOut
    Par Filippo dans le forum Administration
    Réponses: 4
    Dernier message: 13/05/2004, 17h42

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