Différence entre JSP et Servlets

JSP vs Servlets

Un servlet est un composant logiciel côté serveur écrit en Java et s'exécutant dans un environnement de conteneur compatible appelé conteneur Servelt (comme Apache Tomcat). Les servlets sont principalement utilisés pour la mise en œuvre d'applications Web générant des pages Web dynamiques. Ils peuvent toutefois générer tout autre type de contenu tel que XML, texte, images, clips audio, PDF, fichiers Excel par programmation.

Un servlet écrit pour générer du HTML peut ressembler à ceci:

Classe publique MyServlet étend HttpServlet
doGet void protégé (demande HttpServletRequest, réponse HttpServletResponse) lève une exception ServletException, IOException

PrintWriter w = response.getWriter ();
w.écrire (“”);
w.écrire (“”);

Date d = new Date ();
w.write (d.toString ());
w.écrire (“”);
w.écrire (“”);

Le code ci-dessus contient un mélange de code source HTML et Java. Ce n'est pas très lisible et maintenable. JSP, qui signifie JavaServer Pages, offre une meilleure alternative. Par exemple, voici un fragment de code JSP dont le résultat est identique:






Les auteurs de pages Web trouvent JSP plus facile à écrire et à maintenir. Les fichiers JSP sont toutefois traduits en servlets par un conteneur de servlets au moment du premier accès aux fichiers JSP. Cependant, les rédacteurs de logique métier trouvent que les servlets sont plus faciles à utiliser..

Une demande reçue par une application Web doit déclencher l'exécution d'une logique métier, puis générer une page Web résultante en réponse. Dans les applications Web modernes, le contrôle du cycle de traitement de la demande est principalement confié à Servlets. En tant que dernière étape du traitement d’une requête, un tel servlet confie généralement la génération du code HTML dynamique à un fichier JSP..