33 votes

Java EE 6: JSF vs Servlet + JSP. Dois-je prendre la peine d'apprendre JSF?

Je suis en train d'essayer de se familiariser avec Java EE 6, par la lecture http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html. Je suis un peu confus au sujet de l'utilisation de JSF.
Généralement, la façon dont je développer mon Application Web serait, Servlet agirait comme un contrôleur et JSP agirait comme un Affichage dans un modèle MVC. Donc Ne JSF essayer de remplacer cette structure? Ci-dessous sont à la citation de le tutoriel ci-dessus:

Servlet sont les mieux adaptés pour orientées services d'Application et de contrôle de la fonction de présentation orientée Application comme d'expédition de la demande
JSF et Facelet sont plus appropriées pour la génération de mark-up comme le XHTML, et généralement utilisé pour la présentation orientée Application

Pas sûr si j'ai bien compris la citation ci-dessus est trop bien, ils n'expliquent pas trop bien ce qui est axée sur le service vs présentation axée sur les résultats.

Un JavaServer Faces application pouvez mapper les requêtes HTTP vers le composant spécifique à la gestion des événements et gérer les composants comme des objets ayant sur le serveur.

Tout bien informé développeur Java peut me donner un aperçu rapide sur JSF, JSP et Servlet? Puis-je intégrer le tout, ou dois-je les utiliser séparés sur la base de l'Application? si oui, alors ce genre d'app, JSF, en contraste avec la Servlet et JSP

Un JavaServer Faces application pouvez mapper les requêtes HTTP vers le composant spécifique à la gestion des événements et gérer les composants comme des objets ayant sur le serveur.

Le son comme quoi servlet peut le faire, mais vous ne savez pas à propos de manage components as stateful objects on the server. Même pas sûr de ce que cela signifie? Merci à l'avance.

31voto

BalusC Points 498232

JSF, fondamentalement vous permet de développer une application web avec seulement des objets de modèle (JavaBeans) et de points de vue (JSP/pages XHTML). Avec "plain vanilla" JSP/Servlet, vous aurez à apporter dans un grand nombre de code pour le contrôle, prétraiter, post-traitement, recueillir des données, de valider, de les convertir, de les écouter, etc la demande et la réponse HTTP. Et puis je ne parle pas de la refactorisation de haut (résumé) degré de telle sorte que vous pouvez également retrouver la même manière que JSF n' (juste une classe JavaBean et une JSP/page XHTML par cas d'utilisation).

J'ai posté une réponse plus détaillée sur le sujet avant ici: Quelle est la différence entre JSF, Servlet et JSP?

10voto

Bozho Points 273663

Dans JSF, un servlet spécifique (le servlet Faces) est utilisé pour gérer toutes les demandes entrantes et les envoyer aux beans appropriés.

JSF est un framework MVC basé sur des composants, tandis que JSP est une technologie de vue.
Vous pouvez utiliser JSP avec JSF, bien que Facelets soit la technologie d'affichage préférée.

4voto

JSF fournir une couche d'abstraction avec plusieurs responsabilités, mais le plus important, il s'occupe de tous les problèmes de formulaires HTML et le transfert de données en arrière-et-vient entre les pages web et POJO Java beans (getX, setX méthodes), ce qui est notoirement difficile à faire.

Il fournit également la navigation et dans l'incarnation la plus récente de Java EE 6 rudimentaire de l'AJAX est disponible, permettant pour de simples mises à jour de la page web que l'utilisateur entrées de données.

Vous pouvez trouver plus facile de penser à elle comme un moyen d'éviter d'écrire du JavaScript vous-même.

3voto

Chris Points 19

Si vous aimez XML, choisissez JSF. Dans le cas où vous êtes un fan de listlist d'action doPost, doGet etc. choisissez Servlet et JSP.

2voto

ring bearer Points 8369

JSF objectifs fixés dans le Cadre de simplifier le développement de l'intégration des interfaces utilisateur web. Comme @bozho a déclaré vous pouvez mélanger des JSP et JSF. Cependant, la "vue" composant JSF est facelets - qui peut être considéré comme peu de widgets, qui sont plus ou moins autonomes à l'égard de DHTML style et JavaScript génération d'événements et de retour d'appel.

"Dois-je m'embêter à apprendre.. ?"

Pas sûr. Je n'ai pas vu JSF ramasser beaucoup de vapeur, même si elle a été autour (au Moins en théorie) pour les 5 dernières années.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X