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 :

Interrogations sur la véritable utilité de "ServletContext"


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut Interrogations sur la véritable utilité de "ServletContext"
    Bonsoir,

    J'aimerai connaitre la véritable utilité du "ServletContext". Quelle différence par exemple avec la session.... Par exemple si je veux passer des objets dans en session en cours, je dois choisir de les faire passer/récupérer par "session" ou par "ServletContext" ...

    2ème Question: si je choisi de passer/récupérer mes Objets par "Servletcontext" avec quelle "action JSP" je peux récuperer mes... JavaBeans par exemple...

    <jsp:useBean id="monBean" class="test.monBean" scope="Servletcontext???" />

    Merci à vous, je nage là...

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Rapidement,

    Dans une session, c comme une variable globale avec son getAttribute et setAttribute, qui est valable sur les pages WEB(jsp et servlet), par contre c attributs peuvent être effacer.

    Par contre dans le servletContext, ce sont des attributs passés en paramétre dans l'url de la page ou par des request (set et get), c à dire qu'elles sont valable d'une page à une autre mais pas sur plusieurs pages.

    Pour le cas des beans ce sont id sur des classes qui ont un scope variable, cad le scope peut être 'page', 'session', 'application' et elles ont donc une vie différentes suivant ce scope.

    Ceci est une première approche mais avec des recherches, tu auras plus de détails ...

  3. #3
    Expert confirmé

    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
    Par défaut
    L'objet ServletContext correspond au contexte application.
    Il est commun à tous les utilisateurs connectés à l'application.
    Il est donc utile lorsque tu veux qu'une information soit disponible sur toutes les pages et pour tous les utilisateurs connectés.
    Il vit tant que l'application tourne.

    Le contexte session est utilisé quand on a besoin de l'information sur plusieurs pages pour un utilisateur connecté.
    Il vit tant que la session n'est pas détruite.

    Si tu stockes une information via l'objet ServletContext, il faut spécifier scope="application" dans le tag useBean.

    Et les méthodes setAttribute et getAttribute sont utilisables quel que soit le contexte.

  4. #4
    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 Fench Voir le message
    ...
    Par contre dans le servletContext, ce sont des attributs passés en paramétre dans l'url de la page ou par des request (set et get), c à dire qu'elles sont valable d'une page à une autre mais pas sur plusieurs pages.
    ...
    C'est pas ça...

    Pour compléter les propos de c_nvy, le contexte application étant accessible par tous les utilisateurs de l'application, il faut penser (éventuellement) à utiliser la synchronisation lors de la lecture/écriture d'objets.
    Il est possible qu'un utilisateur A accède à une ressource en même temps qu'un utilisateur B l'écrit ou la modifie...

    Il existe un niveau encore plus élevé de stockage d'objets partagés (en l'occurrence la JVM) via la classe System.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.getProperties().put(Object, Object) pour écrire
    System.getProperties().get(Object) pour récupérer
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [CKEditor] Interrogations sur la sécurité de cet éditeur
    Par hisy dans le forum Bibliothèques & Frameworks
    Réponses: 8
    Dernier message: 12/05/2006, 14h56
  2. Petite interrogation sur les z-index et div
    Par Delphy113 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/02/2006, 21h09

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