Jsp&servlet

Fermé
bibia27186 Messages postés 9 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 16 novembre 2008 - 11 oct. 2008 à 20:02
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 12 oct. 2008 à 03:03
Bonjour,
je veut savoir quel est la différence entre jsp et servlet ?
quand j'utilise le jsp et quand j'utilise le servlet?

1 réponse

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
12 oct. 2008 à 03:03
Bonjour,
En réalité, les deux notions sont très liées.
Une servlet est du code Java qui s'exécute côté serveur. Autrement dit, c'est une classe qui implémente des méthodes te permettant de passer des objets aux navigateurs.
Les jsp sont des pages web (squelette html et tout le tuti quanti) dans lesquelles on va insérer un petit peu de code java de manière à exploiter les données envoyées depuis les servlets.

En réalité, les jsp vont être compilées et transformées en servlet, c'est pour cela que les deux notions sont très proche. En fait, tu peux tout faire dans une seule servlet, ou dans une seule jsp (ce n'est pas conseillé, je te dirai pourquoi plus bas) :
- (methode1) dans ta servlet tu vas appeler des méthodes métier, puis tu peux très bien écrire ton html directement dans la response, en insérant les données que tu souhaites. De cette manière, pas besoin de jsp
- (methode2) inversement, dans ta jsp, tu peux très bien faire appel à des méthodes métier. De cette manière, ton fichier sera un gros fichier html avec plein de code java inséré dans tous les sens.

Cependant, ces deux manières ne sont pas des bonnes méthodes d'utilisation. L'important ici est de respecter le design pattern MVC : il faut séparer les couches effectuant des traitement métier des couches de présentation.
Ainsi, tu vas utiliser ta servlet pour faire les appels métier, tu vas stocker les informations à afficher (des strings, des listes d'objets...) dans la request, et tu vas faire une redirection vers la jsp.
De son côté, la jsp ne va servir qu'à afficher les données : ça va être du html avec un petit peu de java lorsque tu vas vouloir parcourir une liste dans ta request pour créer un tableau dynamiquement...

Si tu ne veux pas suivre ce conseil d'implémentation, tu peux évidemment utiliser les méthodes 1 et 2. Dans ce cas utilise la méthode 2 (qui même si elle est pourrie, est tout de même mieux que la méthode 1 qui est carrément pourrie). Ainsi tu évites de recompiler le code dès que tu fais un changement html, tu arriveras à développer beaucoup plus efficacement (en java quand tu dois écrire des strings en dur qui sont super longues, tu t'y perds vite).

Cordialement,
-1