Java EE vs JSP vs JSF [fermé]

je cherche à apprendre une technologie Java pour le développement d'applications web. Comme j'ai regardé plus dans ce, je suis devenu confus entre , , et . Je sais qu'il y a plusieurs posts sur ( poste 1 , poste 2 ) qui tentent de résoudre ces confusions, j'ai un peu plus haut:

  1. est JSP" dead " en faveur de JSF?
  2. est-ce que Java EE la plate-forme JSF fonctionne en plus ou quelque chose de tout à fait différent?
  3. JSF Est simplement un framework MVC pour le développement d'applications web?
  4. est-ce que JSF est un framework développé par Oracle et fait partie de Java, ou est-ce un framework complètement séparé (un peu comme le Zend Framwork est de PHP)?
  5. [Bonus] recommanderiez-vous à l'apprentissage ou ?

dans votre réponse, n'hésitez pas à comparer n'importe laquelle de ces technologies à des choses comme ASP.NET, ASP.NET MVC, Ruby on Rails, Zend Framework, ou de vieilles Applets Java régulières, car ce sont des choses que je connais déjà.

Merci pour votre temps.

30
demandé sur Community 2014-05-17 06:35:51

3 réponses

est-ce que JSP est "mort" en faveur de JSF?

JSF a d'innombrables avantages par rapport à JSP. Par exemple:

  • il définit une approche MVC
  • Il a mis en place les composantes importantes des normes
  • Il a d'appliquer les valeurs de la fonction
  • Built-in AJAX
  • Une vue définie contexte de contrôle
  • permet des extensions d'interfaces riches like Primefaces

et on peut continuer.

vous pouvez toujours utiliser JSP pour d'autres scénarios où vous avez besoin de flexibilité ou de performance spécifique, et la même chose pour les servlets, mais JSF a pratiquement remplacé JSP pour les applications" robustes".

maintenant, je suis un grand fan de JSF, mais il a un long chemin à parcourir. JSF 2.2 ressemble un peu à un cadre mûr maintenant qu'il a une norme de navigation définie ( FacesFlow ), et nous venons d'avoir un uploader de fichier intégré dans 2.1 et il n'est même pas AJAX, et il y a "HTML5", etc. Donc oui, il y a encore beaucoup de travail à faire que je ne détaillerai pas ici.

d'après mon expérience, JSP est en fait" mort " si on le compare au JSF et à d'autres structures comme le MVC de printemps et d'autres. Le tutoriel Java EE 7 parle à peine de JSP. Mais il n'est pas mort, puisqu'il est déjà pris en charge dans des conteneurs Web et vous pouvez toujours l'utiliser.

est Java EE la plate-forme JSF fonctionne sur le dessus de ou quelque chose de différent au total?

JSF fait partie de Java EE mais vous n'avez pas besoin de profil Java EE complet pour utiliser JSF. Exemples:

  • Tomcat est juste une implémentation de profil Web Java EE, et vous pouvez utiliser JSF à Tomcat.
  • vous pouvez utiliser JSF dans JBoss mais vous n'avez pas besoin de JMS activé pour JSF pour travail.

composants Java EE sont modulaires, et vous avez seulement besoin d'un Profil Web server/conteneur afin d'utiliser JSF.

JSF Est simplement un framework MVC pour le développement d'applications web?

Oui (mais je ne dirais pas simplement ). Chacun a ses propres avantages et inconvénients. Mais le principe est le même.

on pourrait discuter de l'intégration avec EJB, mais ainsi que le ressort MVC avec son propre conteneur.

est un JSF un cadre développé par Oracle et une partie de Java, ou est-ce un cadre séparé tout à fait (un peu comme le Zend Framwork est de PHP)?

Oracle délègue maintenant à des équipes pour définir la spécification. En théorie, vous pouvez mettre en œuvre votre propre JSF si vous le souhaitez. Je ne sais pas à propos du cadre Zend de PHP.

la plupart des applications JSF les plus courantes sont Mojarra et MyFaces. (Luiggi me battre sur ce droit maintenant, vous pouvez vérifier ses liens).

[Bonus] recommanderiez-vous d'apprendre le jsp ou le jsf?

je recommande les deux. JSP d'abord et JSF ensuite.

mais je vous recommande à 100% D'utiliser JSF pour vos projets. Mais assurez-vous de comprendre la componentisation et tout ce qui fait de JSF un outil puissant.

également vérifier JSF 2.2 nouvelles fonctionnalités , cette page est génial pour une intro sur les dernières fonctionnalités ajoutées au cadre.

32
répondu BonanzaOne 2017-05-26 13:26:52

est-ce que JSP est "mort" en faveur de JSF?

Non, il est toujours maintenu pour les applications web anciennes et actuelles comme la technologie de vue. De plus, JSF travaille avec JSP en tant que view, mais depuis JSF 2 il est préférable d'utiliser les Facelets en tant que view technologique. Les raisons sont expliquées ici: pourquoi Facelets est préféré à JSP comme le langage de définition de vue de JSF2.À partir de 0? . En bref, Facelets soutient pré et post traitement de la contenu de rendre, tandis que les JSP ne l'est pas.

est-ce que Java EE la plate-forme JSF fonctionne en plus ou quelque chose de tout à fait différent?

JSF peut fonctionner de manière autonome sur n'importe quel serveur D'application Web Java. Vous avez juste besoin d'ajouter les bibliothèques nécessaires: JSF-api et JSF-impl.

JSF Est simplement un framework MVC pour le développement d'applications web?

Oui. Il ne fournit pas de toute aide pour la génération de service web, la mise en commun des connexions, la gestion des transactions, etc. Il supporte l'injection EJB par @EJB et les paramètres d'injection par @ManagedProperty , mais c'est tout. Vous pouvez utiliser d'autres cadres pour faire le travail: hibernation, EJB, printemps, CDI, etc.

est-ce que JSF est un framework développé par Oracle et fait partie de Java, ou est-ce un framework complètement séparé (un peu comme le Zend Framwork est de PHP)?

JSF est supporté par JSR 344 . Cette spécification est supportée par le Java Community Process , qui est supporté par Oracle. Vous pouvez en déduire qu'au moins Oracle fournit une implémentation pour JSF. Comme le JSF est une spécification, il peut aussi être mis en œuvre par d'autres organisations. Actuellement, il y a une autre implémentation pour JSF, MyFaces .

voulez-vous recommandez l'apprentissage ou ?

c'est comme demander devrais-je apprendre à créer HTML ou comment utiliser un ensemble de bibliothèque qui va créer HTML pour moi? . JSP est une technologie faite pour la vue d'applications web qui prend en charge le contenu dynamique par l'utilisation de la technologie Java. JSF est un MVC framework qui vous aide à faciliter la génération du contenu en vue (JSP ou Facelets) et des données liant à travers la vue, le contrôleur et le modèle. Vous pouvez apprendre les deux en même temps, et je vous recommande d'apprendre ce que vous utilisez actuellement ou ce que vous allez utiliser. IMO vous devriez apprendre à la fois: JSF pour développer des applications JSF, et JSP pour travailler avec d'autres cadres MVC ou pour maintenir les applications existantes construites avec JSP.

14
répondu Luiggi Mendoza 2017-05-23 12:26:19

1.JSP est-il" mort " en faveur de JSF?

dans le domaine de JAVA EE JSP est annoncé"obsolète". Dans un monde plus large, il est bien vivant.

2.Est-ce que Java EE est la plate-forme JSF fonctionne sur le dessus de ou quelque chose de tout à fait différent?

dépend où est le"haut". Les Servlets sont le socle de la plupart des cadres Java, y compris JSF.

3.JSF n'est-il qu'un cadre MVC pour le développement d'applications web?

Oui, c'est le sens que JSF est un couche de présentation cadre.

4.Est-ce que JSF est un framework développé par Oracle et fait partie de Java, ou est-ce un framework séparé tout à fait (un peu comme le Zend Framwork est de PHP)?

JSF est une partie officielle de Java EE 7 par Oracle.

5.[Bonus] recommanderiez-vous d'apprendre le jsp ou le jsf?

les deux, à une certaine profondeur. Considérons aussi HybridJava-its est aussi puissant que JSF mais environ deux fois plus simple.

4
répondu Dima 2014-05-18 18:40:10