4
7
Programmation CGI vs. Servlet
• Un même principe:
– Un programme génère le code HTML de la page de réponse.
• Logique de l’application et présentation ne sont pas séparées.
• Différences:
– CGI: Programmation classique.
• Les paramètres de la requête HTTP sont passés au programme appelé.
– Servlet: C’est une instance d’une classe qui hérite de la classe
javax.servlet.httpHttpServlet et qui redéfini la (ou les)
méthode(s) doPost ou doGet.
• Appel de la méthode doPost ou doGet du servlet suivant le type de la requête
HTTP (GET ou POST)
• Les paramètres de la requête HTTP sont encapsulés dans un objet
(javax.servlet.http.HttpServletRequest) passé en paramètre des méthodes
doPost ou doGet.
• Code réentrant: le servlet ne doit pas mémoriser d’état.
8
Programmation PHP / JSP
• Un même principe:
– On insère du code PHP (vs. JSP) dans du code HTML
• Séparation (partielle ou complète) entre logique de l’application et
présentation.
• Différences entre PHP et JSP:
– Syntaxiques: en JSP on distingue entre:
• du code Java qui retourne une valeur: expression entre ‘<%=‘ et ‘%>
• du code Java qui exécute une action: scriptlet entre ‘<%‘ et ‘%>
– Sémantiques: sessions, connexions aux bases de données, ...
– En JSP on peut :
• Utiliser les tags pré-définis JSP
• Définir ses propres tags JSP: permet d’étendre le langage JSP.