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

Développement Web en Java Discussion :

Question sur MVC


Sujet :

Développement Web en Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut Question sur MVC
    Je suis entrain d’étudier le MVC et franchement j'ai des questions que je voudrais échanger avec vous les réponses si vous permettez

    Bon voici on dit que jsf se base sur le modèle mvc.J'ai trés bien compris que la view sont les pages xhtml,jsp ... mais le controlleur j'ai pas très bien saisie car en jsf on peut créer un managed bean appelé aussi backed bean ou controlleur. Est-ce-que c'est le même controlleur?
    Merci

  2. #2
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Bonjour,

    Sans être experte: la vue tu l'as bien compris, le modèle c'est la table dans la base de données (plusieurs occurrences d'un objet de la même classe Java).

    Le contrôleur c'est ce qui fait la liaison entre les deux. Si tu l'appèles DAO, managed bean, backing bean ou truc mouche: ce sera toujours une public class MonobjetController implements Serializable{} (préférablement déclarée dans un fichier MonobjetController.java qui lui aussi doit se trouver dans un package MonProjet.jsf) qui englobe tes méthodes d'accès (en lecture ou écriture) à l'objet stocké dans la DB.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    et Pourquoi on dit souvent que le controlleur c'est la facesServlet?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Parce que c'est la servlet qui intercepte les requêtes et redirige les actions vers les beans concernés.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    Donc si je me suis très bien comprendre lorsque le client souhaite visiter une page ça revient à dire qu'il envoie une requête vers le contrôleur et c'est au contrôleur qui va appeler la page (view).c'est ça?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Oui c'est ça.

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    très bien alors merci et le modèle c'est quoi son rôle exactement ? est-ce-que lorsque je développe la page par exemple jsf et je met le #{ nom du bean. attribut } c'est ici ça veut dire que j'ai invoqué l'attribut qui se trouve dans le modèle?

  8. #8
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    en fait du MVC (voire MVP) il y en a partout "à tous les étages" ...

    JSF est lui même MVC, car il a un contrôleur (servlet), des vues (pages ou composants UI) et des modèles internes pour ses différents composants.

    Ensuite si tu fais une application en appliquant MVC à un plus haut niveau tu auras tes pages que tu considéreras uniquement comme de la vue, les ManagedBeans comme des "mini controleurs" qui tapent sur un model local "les attributs des managed bean" ...

    Ensuite à un plus haut niveau encore, tu pourras considérer que tout ce qui est JSF est de la vue et que ce niveau "tape" sur une couche de service d'accès à ton modèle (par exemple des EJB) ... qui eux iront taper sur de la DAO, etc.

    Bref ... :-) ça découpe, ça découple. dans tous les sens.

    Ce qui est important dans le concept MVC et que de nombreuses personnes oublient c'est le design pattern Observer / Observable entre la vue et le modèle. Le modèle avertissant de ses modifications toutes les vues qui l'écoute (tout ou partie du modèle).

    Sinon, si le contrôleur est un "passe plat" entre le modèle et la vue et qu'il transforme les informations et déclenche les traitements, alors c'est plutôt du MVP (Model View Presenter). La aussi trop méconnu ... mais bcp utilisé sans le savoir. Certains font du MVP et annoncent faire du MVC, par méconnaissance.

    Et pour répondre à ta dernière question, le modèle c'est ton métier "pur" ... des classes qui "stockent" tes données métiers, dénuées de toute problématique d'affichage, ainsi que l'ensemble des traitement métier aussi.

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    Merci pour ta réponse J'ai très bien compris beaucoup de choses et j'ai besoin d'un dernier truc concernant ce sujet c'est que à quoi consiste le rôle du contrôleur secondaire au niveau MVC 1 ?

Discussions similaires

  1. Question sur MVC
    Par abadou dans le forum ASP.NET MVC
    Réponses: 3
    Dernier message: 14/03/2011, 00h29
  2. Questions sur MVC
    Par Ivelios dans le forum Débuter
    Réponses: 6
    Dernier message: 04/08/2010, 19h29
  3. Diverses questions sur MVC, QWidget et QSettings
    Par Agent Smith 2.0 dans le forum Débuter
    Réponses: 3
    Dernier message: 26/02/2009, 13h56
  4. Question sur le MVC
    Par Invité dans le forum MVC
    Réponses: 2
    Dernier message: 12/05/2007, 17h09
  5. Questions sur le modèle MVC
    Par dr23fr dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 05/12/2006, 19h46

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