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
Version imprimable
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
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.
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!!!
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...
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...
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
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 :D:
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.
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é...
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:
et pour accéder à une méthode par exemple on peut faire bean.NOM_Méthode()...Code:
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 j'ai remarqué que Netbeans génère ce code pour faire la même chose
et pour accéder à une méthode on peut faire getMonBeanSession().NOM_Méthode()...Code:
1
2
3 protected MonBeanSession getMonBeanSession() { return (MonBeanSession) getBean("MonBeanSession"); }
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.
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.