web-dev-qa-db-fra.com

JSF vs Facelets vs JSP

Je n'arrive pas à obtenir une réponse claire quant à la différence concrète entre Java Serveur Visages et les soi-disant facelets Quelqu'un peut-il me donner une réponse claire comme le jour?!?

De plus, je comprends que JSF ou JSP peuvent être utilisés pour créer des pages Web dynamiques, mais deux détails apparemment contradictoires me déroutent. J'ai entendu les deux choses suivantes:

  1. Ce JSF remplace JSP; et

  2. JSF et JSP forment différentes parties de la vue du paradigme MVC de niveau Web de Java

Alors c'est quoi? La logique veut que ce ne soit presque certainement pas les deux!

104
Pam
  • JSF est un framework Java) standardisé pour les interfaces Web basé sur un modèle MVC.
  • Les JSP sont une norme (beaucoup plus ancienne) pour générer des pages Web à partir de modèles. Celles-ci peuvent peuvent être utilisées en tant que vue dans une application JSF, mais également séparément de JSF.
  • Facelets est une technologie d'affichage alternative basée sur des modèles XML purs (sans scriptlets) introduite avec la version 2 du standard JSF. Ils ne peuvent être utilisés que dans une application JSF.

À la lumière de cela, examinons vos déclarations contradictoires:

Ce JSF remplace JSP; et

Pas tout à fait vrai, car JSF peut utiliser les JSP pour sa vue (et devait le faire avant JSF 2). Toutefois, les applications JSF utilisant Facelets peuvent remplacer les technologies basées sur JSP.

JSF et JSP forment différentes parties du paradigme MVC de niveau Web de View dans Java

Complètement faux - JSF couvre la totalité du modèle MVC (bien qu'il puisse se chevaucher avec des EJB, car les deux sont basés sur des annotations pouvant être mélangées dans la même classe).

127
Michael Borgwardt

De article Wikipedia (JSF)

[~ # ~] jsf [~ # ~] est un framework MVC Web basé sur des requêtes basé sur un modèle de conception d'interface utilisateur piloté par composant, à l'aide de fichiers XML appelés modèles de vue ou vues Facelets .

JSF est un framework Web et Facelet est un modèle de vue pour JSF.

De article Wikipedia (JSP)

Pages JavaServer ( [~ # ~] jsp [~ # ~] ) est une technologie Java qui aide les développeurs de logiciels servir des pages Web générées dynamiquement basées sur HTML, XML,

Regardez aussi ce sujet Différence entre jsf et jsp

10
user467871

Java Server Pages (JSP) est Java qui permet aux développeurs et aux concepteurs Web de développer rapidement et de maintenir facilement des informations. pages Web dynamiques et riches, exploitant les systèmes d’entreprise existants: la technologie JSP sépare l’interface utilisateur de la génération de contenu, ce qui permet aux concepteurs de modifier la mise en page globale sans modifier le contenu dynamique sous-jacent.

Facelets est le premier langage de déclaration de page autre que JSP conçu pour JSF (Java Server Faces) qui fournit aux développeurs JSF un modèle de programmation plus simple et plus puissant que le JSP. Il résout différents problèmes dans JSP pour le développement d'applications Web.

Voici un tableau qui compare les caractéristiques des grilles et facelets:

enter image description hereSource

5
Yster

Je cherchais une réponse à la même question. J'ai trouvé ces liens très utiles:

Exemple de modèle d'application JSP: http://netbeans.org/kb/docs/javaee/ecommerce/design.html#architecture

Concepts JSF de base, certains exemples: http://netbeans.org/kb/docs/javaee/ecommerce/conclusion.html#framework

3
Daniel