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]


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Points : 2
    Points
    2
    Par défaut [SESSION]
    Est ce que qq1 pourrait me dépatouiller d'un léger soucis.
    Je suis en jdk 1.2.2 et serveur d'appli WebSphere 3.5.6

    Je cherche à compter le nombre d'utilisateurs connectés, pour cela je comptais m'appuyer sur le nombre de session active... mais je ne sais pas comment faire pour les comptabiliser...

    qq1 aurait il une idée ?

    Merci

  2. #2
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    l'eternel probleme ...

    Ca vaut ce que ca vaut:
    Tu ajoute un HttpSessionListener a ton web.xml

    pour sessionCreated(), tu incremente un compteur dans le context d'application.
    pour sessionDestroyed, tu decrementes le compteur.

    Bon courage
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  3. #3
    Candidat au Club
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ce que tu me proposes serait trop simple ce n'est valable qu'à partir du jdk 1.3 ou plus précisément du servlet 2.3

    une autre id ? ca serait génial !

    Merci

  4. #4
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    Dans ce cas faut le faire a la mano , creer une classe wrapper de HttpSession.

    A chaque création d'une instance du wrapper tu incrementes un compteur ds la factory du wrapper, puis tu retournes une HttpSession. idem pour la destruction.

    @+

  5. #5
    Candidat au Club
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Aurais tu un bout de code en exemple ?
    arci

  6. #6
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    non rien sous la main.

    En gros au lieu de creer un httpSession tu cree un myHttpSession qui retourne un httpSession et qui incremente un compteur.

    Dans ton prog tu utilises myHttpSession.

    @+

  7. #7
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    un solution encore plus simple serait de sous classer HttpSession ( c pas final non ?) et d'y rajouter un champ static et synchronisé count, plus un mutateur et un accesseur.

    @+

  8. #8
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    pas final mais c'est une interface...

    Je crois que l'encapsulation c'est la seule methode. Tu vas devoir creer une classe qui creera une Session au lieu de request.

    MyHttpSession sess = MonUtil.getSession(request);

    Et etre tres methodique...


    Autre solution, peut etre plus simple, l'ancienne version de j2ee avait dans HttpSessionContext les methodes necessaires pour recuperer toutes les sessions. C'est deprecated dans 1.3

    Ca vaut le coup d'essayer, mais tu ecris du code deprecated..
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  9. #9
    Candidat au Club
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour les infos

    bon en gros ce que je suis entrain d'essayer de faire c d'implémenter le code de la 1.3 ( HttpSessionListener et le HttpSessionEvent) en spécifique dans mon appli... en utilisant le listener... tout ce passe bien, mais à priori le listener ne chope pas le fait qu'une session s'est créée ou même détruire...

    Comment fonctionne un listener ? Il attend un évênement, et à partir de cet evênement il agit ? Y a-t-il moyen de l'obliger à se déclencher ?

    Pour ce qui est de la recup du context, c tellement deprecated que ca fonctionne carrement pas - j'y avait pensé malgré tout !


    Merci pour les infos en tout cas !!

  10. #10
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    si tu veux reimplementer le listener toi-meme, il te faudra reimplementer une bonne partie du moteur servlet.

    Ca te coutera beaucoup moins cher d'updater a une version plus recente.
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  11. #11
    Candidat au Club
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Oui c kler ! , je me suis souvenu de se léger détails... J'ai trouvé une soluce plus au moins approximative mais qui fonctionne tout de même, je la post dès que j'ai 10min !

    Merci pour votre aide en tout cas !

  12. #12
    Candidat au Club
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    alors le moyen détourné que j'ai trouvé, et de créer un objet lors de la création de la session (SessionCounter.java), dans cette classe, j'y met une variable statique. Lors de la construction de cet objet, j'incremente cette variable, et lors de sa destruction (utilisation de la methode finalize) je décrémente ce dit compteur.

    Le seul "hic" à cette méthode, est le déclenchement du GC pour vider les objets qui ne sont plus utilisés (d'où l'utilisation de la méthode finalize).

    Je fais donc appel au System.gc() dans la page de login de l'appli et à priori ca fonctionne plutot pas mal.

    Voilou
    aller rulezzzzz

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

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 09h32
  3. Réponses: 12
    Dernier message: 24/09/2003, 15h26
  4. [XMLRAD] session
    Par jml dans le forum XMLRAD
    Réponses: 4
    Dernier message: 17/12/2002, 09h24

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