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 :

Acces au contexte de l'application


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 156
    Points : 57
    Points
    57
    Par défaut Acces au contexte de l'application
    Salut,

    Dans ma servlet je sauve un tableau dans le context de l'application comme suit :
    String[] groupe = (this.getServletConfig().getInitParameter("groupe")).split(",");

    // on met le tableau dans le contexte de l'application
    this.getServletContext().setAttribute("groupe", groupe);

    Je veux recuperer l'attribut "groupe" dans une methode qui prend en paramètre "HttpServletRequest request" , comme suit :

    String[] groupe = (String[]) request.XXXX.getAttribute("groupe");

    le problème c'est que j'ai pas une methode .getServletContext() dans requets

    qlq'un pourrai m'aider ? merci

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 152
    Points : 173
    Points
    173
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().getServletContext()
    mais attention, le servletContext est commun a toute ton application web. cela veut dire que toutes tes requetes accederont au meme objet "groupe".

    il est preferable d'utiliser les methodes set/getAttribute() des classes HttpSession ou ServletRequest

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 156
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par dude
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().getServletContext()
    mais attention, le servletContext est commun a toute ton application web. cela veut dire que toutes tes requetes accederont au meme objet "groupe".

    il est preferable d'utiliser les methodes set/getAttribute() des classes HttpSession ou ServletRequest
    Le problème c'est que quand je fais :
    request.getSession().getServletContext();
    j'ai une erreur comme quoi la fct getServletContext() n'est pas définie ds HttpSession (renvoyé par getSession()).
    J'ajoute que la variable request est de type HttpServletRequest request.

    Tu as une idée ?
    merci

  4. #4
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    On recommence doucement je crois qu'il y a une incompréhension.

    Il existe 3 niveau de scopes

    requête : request
    session : session
    application: servletContext


    Le premier (request) est valable entre le moment ou le servlet engine recoit la requête du browser et assigne la thread qui va s'en cherger et la fin du traitement de la dite requête. Typiquemment utilisé pour stocké des données qui seront affichée une fois dans la jsp et qui sont sujet à changement. Comme tout est détruit en fin de requête pas de prob de mémoire.
    request.setAttribute(); request.getAttribute()


    Le second (session) est crée lorsque le browser se connecte la premiere fois et existe pendant un temps donnée ou jusqu'à sa destrution. Typiquement des infos sur l'utilisateur. Attention le moins possible en session comme ca tu n'oubliera pas de les vider.
    request.getSession().setAttribute(); request.getSession().getAttribute()

    Le troisieme est crée lorsque l'application démarre et est valide pendant toute sa durée de vie. Typiquement utilisé en tant que cache pour par exemple des liste de pays ou ce genre de chose. Attention à utiliser avec parcimonie.
    request.getServletContext().setAttribute(); request.getServletContext().getAttribute()
    Steve Hostettler
    est ton ami(e) et le tag aussi.

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

Discussions similaires

  1. [Delphi 2007] Droit d'accès au répertoire de l'application
    Par sovitec dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 30/01/2008, 15h42
  2. Réponses: 1
    Dernier message: 05/12/2006, 09h31
  3. Placer un bean dans le contexte de l'application
    Par lilli1407 dans le forum Struts 1
    Réponses: 4
    Dernier message: 08/11/2006, 11h12
  4. problème d'accès au context
    Par bada dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 30/08/2006, 13h53
  5. Réponses: 3
    Dernier message: 10/10/2005, 15h53

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