JSP vs Servlets
Un servlet est un composant logiciel côté serveur écrit en Java et s'exécute dans un environnement de conteneur compatible connu sous le nom de conteneur Servelt (comme Apache Tomcat). Les servlets sont principalement utilisés dans la mise en œuvre d'applications Web qui génèrent des pages Web dynamiques. Ils peuvent cependant générer tout autre type de contenu comme XML, texte, images, clips audio, PDF, fichiers Excel par programme.
Une servlet écrite pour générer du HTML peut ressembler à ceci:
public class MyServlet étend HttpServlet {
protected void doGet (demande HttpServletRequest, réponse HttpServletResponse) lance ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Date d=nouvelle Date();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
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 qui produit une sortie identique:
Les auteurs de pages Web trouvent JSP plus facile à écrire et à gérer. Les fichiers JSP sont cependant traduits en servlets par un conteneur de servlet au moment où les fichiers JSP sont accédés pour la première fois. Cependant, les rédacteurs de logique métier trouvent que les servlets sont plus faciles à utiliser.
Une requête 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 global de traitement des requêtes est principalement assuré par les servlets. En tant que dernière étape du traitement d'une requête, un tel servlet confie généralement la responsabilité de générer le code HTML dynamique à un JSP.