Outils pour utilisateurs

Outils du site


developpement:java:servlets

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
developpement:java:servlets [2023/10/03 23:08] sgariepydeveloppement:java:servlets [2023/10/03 23:14] (Version actuelle) sgariepy
Ligne 101: Ligne 101:
 </code> </code>
  
-Remarquons que la méthode ''doGet()'' reçoit un paramètre de type ''HttpServletRequest'' qui représente la requête HTTP qui a invoquée la servlet et un paramètre de type ''HttpServletResponse'' qui représente la réponse de la servlet.  Dans l'exemple de la servlet ''TestServlet'', la méthode ''doGet()'' utilise la méthode ''getWriter()'' de ce deuxième paramètre pour obtenir un flux de sortie de type ''PrintWriter'' Ce flux est dirigé vers le client et permet de lui envoyer des réponses textuelles (au format [[web:html5:toc|HTML]] ou [[prog:general:xml|XML]]).+Remarquons que la méthode ''doGet()'' reçoit un paramètre de type ''HttpServletRequest'' qui représente la requête HTTP qui a invoquée la servlet et un paramètre de type ''HttpServletResponse'' qui représente la réponse de la servlet.  Dans l'exemple de la servlet ''TestServlet'', la méthode ''doGet()'' utilise la méthode ''getWriter()'' de ce deuxième paramètre pour obtenir un flux de sortie de type ''PrintWriter'' Ce flux est dirigé vers le client et permet de lui envoyer des réponses textuelles (au format [[web:html5:toc|HTML]] ou [[developpement:general:xml|XML]]).
  
 {{:web:tomcat:testservlet.jpg|Figure 2. La servlet TestServlet envoie un message de bienvenue à l'utilisateur.}} {{:web:tomcat:testservlet.jpg|Figure 2. La servlet TestServlet envoie un message de bienvenue à l'utilisateur.}}
Ligne 201: Ligne 201:
 ===== Descripteur de déploiement ===== ===== Descripteur de déploiement =====
  
-Les descripteurs de déploiement font partie intégrante des applications web J2EE.  Ils permettent de gérer la configuration des applications web après leur déploiement.  Pour les conteneurs web, un descripteur de déploiement est un fichier [[prog:general:xml|XML]] de nom ''web.xml'' stocké dans le dossier ''WEB-INF'', sous-dossier du dossier principal de l'application.+Les descripteurs de déploiement font partie intégrante des applications web J2EE.  Ils permettent de gérer la configuration des applications web après leur déploiement.  Pour les conteneurs web, un descripteur de déploiement est un fichier [[developpement:general:xml|XML]] de nom ''web.xml'' stocké dans le dossier ''WEB-INF'', sous-dossier du dossier principal de l'application.
  
 La DTD (//Document Type Definition//) pour le descripteur de déploiement est fournie par la spécification des servlets((Par exemple, pour la version 2.3 des spécifications des servlets, la DTD se trouve à: http://java.sun.com/dtd/web-app_2_3.dtd)). La DTD (//Document Type Definition//) pour le descripteur de déploiement est fournie par la spécification des servlets((Par exemple, pour la version 2.3 des spécifications des servlets, la DTD se trouve à: http://java.sun.com/dtd/web-app_2_3.dtd)).
Ligne 207: Ligne 207:
 Le descripteur de déploiement joue plusieurs rôles : Le descripteur de déploiement joue plusieurs rôles :
   * Initialisation des paramètres pour servlets et applications : ça permet de minimiser les initialisations dans le code (//hardcodées//).  Par exemple, si une servlet nécessite des accès à une base de données, le meilleur endroit pour placer les détails sur cette base de données (URL de la base de donnée et chaîne de pilote) est le descripteur de déploiement.  On pourra ainsi changer la configuration de la base de données sans avoir à recompiler la servlet.   * Initialisation des paramètres pour servlets et applications : ça permet de minimiser les initialisations dans le code (//hardcodées//).  Par exemple, si une servlet nécessite des accès à une base de données, le meilleur endroit pour placer les détails sur cette base de données (URL de la base de donnée et chaîne de pilote) est le descripteur de déploiement.  On pourra ainsi changer la configuration de la base de données sans avoir à recompiler la servlet.
-  * Définition des servlets/JSP : chaque page [[prog:java:jsp|JSP]] ou servlet doit être définie dans le descripteur de déploiement.  Pour une servlet, cette définition inclut le nom, la classe et une éventuelle description. +  * Définition des servlets/JSP : chaque page [[developpement:java:jsp|JSP]] ou servlet doit être définie dans le descripteur de déploiement.  Pour une servlet, cette définition inclut le nom, la classe et une éventuelle description. 
-  * Mappings pour JSP/servlets : le conteneur web utilise ces informations pour << mapper >> les requêtes vers les pages [[prog:java:jsp|JSP]] et servlets.+  * Mappings pour JSP/servlets : le conteneur web utilise ces informations pour << mapper >> les requêtes vers les pages [[developpement:java:jsp|JSP]] et servlets.
   * Types MIME : une application web peut contenir différents types de contenu.  Pour chacun d'eux, on spécifie le type MIME correspondant dans le descripteur de déploiement.   * Types MIME : une application web peut contenir différents types de contenu.  Pour chacun d'eux, on spécifie le type MIME correspondant dans le descripteur de déploiement.
   * Sécurité : gère le contrôle d'accès à l'application.  Il permet, en particulier, d'indiquer quelle page de //login// utiliser si l'application nécessite que l'utilisateur se connecte.   * Sécurité : gère le contrôle d'accès à l'application.  Il permet, en particulier, d'indiquer quelle page de //login// utiliser si l'application nécessite que l'utilisateur se connecte.
Ligne 375: Ligne 375:
  
 Il existe des situations où une servlet ne peut pas répondre seule à une requête.  Deux situations peuvent se présenter : Il existe des situations où une servlet ne peut pas répondre seule à une requête.  Deux situations peuvent se présenter :
-  * Redirection (''forward'') -> La servlet effectue une partie du traitement et la transmet à une autre ressource.  Elle peut par exemple traiter une partie de la requête puis la transférer à une autre servlet pour la compléter.  Elle peut aussi s'occuper de la logique d'affaire puis transmettre la requête à une page [[prog:java:jsp|JSP]] qui va s'occuper de la présentation de la réponse au client.+  * Redirection (''forward'') -> La servlet effectue une partie du traitement et la transmet à une autre ressource.  Elle peut par exemple traiter une partie de la requête puis la transférer à une autre servlet pour la compléter.  Elle peut aussi s'occuper de la logique d'affaire puis transmettre la requête à une page [[developpement:java:jsp|JSP]] qui va s'occuper de la présentation de la réponse au client.
   * Inclusion (''include'') -> la servlet peut inclure le traitement effectué par une autre ressource dans son propre traitement.   * Inclusion (''include'') -> la servlet peut inclure le traitement effectué par une autre ressource dans son propre traitement.
  
developpement/java/servlets.1696367287.txt.gz · Dernière modification : 2023/10/03 23:08 de sgariepy