Servlet et JSP

mariemdhieb Messages postés 3 Date d'inscription vendredi 19 mars 2010 Statut Membre Dernière intervention 25 décembre 2010 - 25 déc. 2010 à 20:28
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 26 déc. 2010 à 22:00
Bonjour,
Je veux savoir quand il est mieux d'utiliser les servlet que les JSP, quand il est mieux d’utiliser les JSP que les servlet ??

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 déc. 2010 à 22:00
Salut,

Les jsp sont faites pour définir le formattage de sortie des données : formattage XML, formattage HTML ou autres. Et c'est à peu près tout.

Les servlets servent à tout le reste : interrogation des bases de données, gestion des sessions utilisateurs, logique métiers, et j'en passe beaucoup.

Il est tout à fait possible de faire une application J2EE uniquement avec des servlets. Rappelle toi la règle d'or : PAS DE CODE JAVA DANS UNE JSP. Rapelle toi que la jsp n'est sensée contenir que des taglib. Et donc, ne doit surtout pas faire la connexion à la base de données, gérer les données de la session utilisateur ou encore gérer des exceptions, comme on le voit malheureusement bien trop souvent par les débutants.

Une jsp est interprêtées (afin de produire du code java), puis compilée et enfin exécutée, alors qu'un servlet n'est qu'exécutée, donc plus rapide pour le premier lancement (une fois une jsp interprêtée, elle sera mise en cache pour les autres affichages)..
Une servlet est testable automatiquement (JUnit et consors), alors qu'une jsp ne l'est pas.
Une servlet est codée en java, une jsp peut contenir tout et n'importe quoi : balise HTML, code javascript, code CSS, code java, applets java, animation flash, etc. Bref, ca peut vite devenir un fourre-tout indigeste, comme on le voit là encore malheureusement trop souvent.

Une application J2EE bien faite devrait :
1/ Avoir QUE des balises HTML et des taglibs dans les jsp (pas de code javascript, pas de style css : les placer dans des fichiers à part qui seront mis en cache par le navigateur).
2/ Les différentes couches de l'application devront être clairement définies : ne pas mélanger du code d'accès à la base de données avec du code de formattage des données pour l'utilisateur par exemple.
3/ Si possible, utiliser des framework qui facilitent grandement le codage et le test.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous