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

JSF Java Discussion :

Pourquoi ces beans?


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut Pourquoi ces beans?
    Bonjour à tous
    En fait, je voudrais bien connaitre c'est quoi l'utilité des trois beans, SessionBean, ApplicationBean et RequestBean, qui sont créés automatiquement avec chaque application JSF.
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Ils sont créés automatiquement par qui ?

    Je pense qu'il s'agit de montrer l'impact de chaque scope, request et application sur la durée de vie d'un Bean...
    Il n'y a aucune obligation d'avoir ces beans sinon.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    Bon,
    je travaille sur Netbeans et chaque fois que je crée un projet web utilisant le framework JSF ces 3 beans sont créés automatiquement ayant comme noms SessionBean1.java, ApplicationBean1.java et RequestBean1.java, c'est toute l'histoire et donc je m'ai dis c'est sur qu'il y en a une bonne raison pour la création de chacun d'entre eux!!!

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Citation Envoyé par metwa Voir le message
    Bon,
    je travaille sur Netbeans et chaque fois que je crée un projet web utilisant le framework JSF ces 3 beans sont créés automatiquement ayant comme noms SessionBean1.java, ApplicationBean1.java et RequestBean1.java, c'est toute l'histoire et donc je m'ai dis c'est sur qu'il y en a une bonne raison pour la création de chacun d'entre eux!!!
    [TROLL]
    Parce que NetBeans c'est pour les assistés ?
    [/TROLL]

    Il les crée simplement à titre d'exemple...

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    c'est vrai Netbeans est très simple et ben je suis assisté pourquoi pas, si j'arrive à comprendre donc aucun problème, mais exemple de quoi??? en fait c'est le but de ma question, j'ai dit: peut être il y a quelque chose nouvelle derrière la création de ces 3 beans que je ne connaissais pas et que je puisse connaitre et apprendre à l'aide de vous.
    Je suis débutant en JSF...

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Comme je l'ai dit, c'est à mon avis pour montrer les différents cycles de vie des beans, en fonction de leur scope...
    Sur Eclipse, avec JBossTools, il est possible de créer une application JSF + Facelets en 2 - 3 clics. L'application comprend 2 ou 3 pages, autant de beans, et on peut ainsi avoir une petite appli avec un écran de login, et une page d'accueil.
    C'est assez pratique pour partir rapidement avec une nouvelle structure sans se prendre (trop) la tête avec la configuration des fichiers...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Citation Envoyé par metwa Voir le message
    c'est vrai Netbeans est très simple et ben je suis assisté pourquoi pas, si j'arrive à comprendre donc aucun problème, mais exemple de quoi??? en fait c'est le but de ma question, j'ai dit: peut être il y a quelque chose nouvelle derrière la création de ces 3 beans que je ne connaissais pas et que je puisse connaitre et apprendre à l'aide de vous.
    Je suis débutant en JSF...
    Ne tiens pas compte de ma réflexion, elle est infondée

    Mais comme le dit romaintaz, ces trois beans ne sont là qu'à titre d'exemple.
    Et comme il l'a aussi dit:

    SessionBean => Durée de vie le temps de la session utilisateur
    ApplicationBean => Durée de vie le temps du fonctionnement de l'appli
    RequestBean => Durée de vie le temps d'une requète HTTP

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    Merci pour les réponses
    ne t'inquiète pas DeathMaker on est tous ici pour apprendre et pour aider les uns les autres, mais encore j'ai une question :
    si j'ai un managed bean avec le scope session, toutes ses variables ne seront visible que pour une session même celles qui sont déclarées static: c'est à dire: si deux personnes sont connectés en même temps ils vont partager la même valeur de la variable static ou bien ils auront des valeurs différentes.
    Merci d'avance.

  9. #9
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Là on touche à du Java pur, rien à voir avec le JSF, ou les scopes des beans.
    Une propriété statique est accessible par tout le monde (modulo sa visibilité, bien sûr), et est indépendante des instances de cette classe.
    Autrement dit, toutes les autres classes Java accèderont à la même valeur de cette propriété...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    bonjour une autre fois,
    j'ai crée un bean avec quelque attributs et j'ai mis son scope à session et pour récupérer ce bean j'ai trouvé cette solution quelque part:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    FacesContext context = FacesContext.getCurrentInstance();
    MonBeanSession bean = (MonBeanSession ) context.getApplication()
    		.getExpressionFactory().createValueExpression(
    				context.getELContext(), "#{MonBeanSession }",
    				MonBeanSession .class).getValue(context.getELContext());
    et pour accéder à une méthode par exemple on peut faire bean.NOM_Méthode()...
    et j'ai remarqué que Netbeans génère ce code pour faire la même chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         protected MonBeanSession getMonBeanSession() {
            return (MonBeanSession) getBean("MonBeanSession");
        }
    et pour accéder à une méthode on peut faire getMonBeanSession().NOM_Méthode()...
    je les ai essayé toutes le deux et elles fonctionnent sans aucun problème.
    je veux connaitre si la deuxième méthode est applicable sous tous les IDE ou bien c'est spécifique à Netbeans sinon elle plus simple et plus pratique car je l'ai pas trouvé sur le net
    Merci d'avance.

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Par défaut
    Citation Envoyé par metwa Voir le message
    je les ai essayé toutes le deux et elles fonctionnent sans aucun problème.
    je veux connaitre si la deuxième méthode est applicable sous tous les IDE ou bien c'est spécifique à Netbeans sinon elle plus simple et plus pratique car je l'ai pas trouvé sur le net
    Merci d'avance.
    Le code que tu produis sera compatible avec n'importe quel IDE.

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Par défaut
    Merci pour la réponse, mais je pense qu'il y a un autre problème, j'en sais rien,
    comme j'ai dis, j'ai crée un bean avec quelques attributs et j'ai mis son scope à session et j'ai utilisé chaque fois une de ces deux méthodes mais lorsque j'exécute mon application et je m'authentifie et je fais une 2eme exécution en même temps avec un autre identifiant si je retourne vers la 1ere exécution je trouve que le username change et devient celui de la 2eme exécution, comme s'il n y a pas la notion de session, peut être car les 2 exécution sont sur la même machine, non??
    Aidez moi s'il vous plait.

Discussions similaires

  1. Pourquoi ces DLL?
    Par Winix dans le forum Qt Creator
    Réponses: 1
    Dernier message: 29/04/2013, 12h46
  2. pourquoi ces variables ne marchent pas ?
    Par jeorcal dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/07/2010, 16h25
  3. Pourquoi ces erreurs
    Par dedesite dans le forum C++
    Réponses: 14
    Dernier message: 16/01/2007, 14h32
  4. Pourquoi ces directives #ifndef ... en haut des .h
    Par Patrick PETIT dans le forum C
    Réponses: 8
    Dernier message: 06/03/2003, 23h53

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