Outils pour utilisateurs

Outils du site


helloworld:web:java:servlet

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
helloworld:web:java:servlet [2015/08/09 21:09] – Ajout de l'exemple 5 - cookies roothelloworld:web:java:servlet [2020/05/11 00:22] (Version actuelle) – Suppression de la taille par défaut pour les images root
Ligne 1: Ligne 1:
-Un ''servlet'' utilise du code ''Java'' dans lequel est mis du code ''HTML''.+Un ''servlet'' utilise du code ''Java'' dans lequel est mis du code ''HTML'' ou ''XML''. Toutes les données de la page étant générées par la ''servlet'', il est possible de générer du ''HTML 4.01'' ou du ''HTML 5'' sans aucune difficulté.
  
-<note>Tous les exemples ci-dessous utilisent le [[helloworld:design_pattern:bean:java|BeanPersonne]].</note>+<WRAP center round info 60%> 
 +Tous les exemples ci-dessous utilisent le [[helloworld:design_pattern:bean:java|BeanPersonne]]. 
 +</WRAP>
  
 =====Cycle de vie===== =====Cycle de vie=====
-{{:helloworld:web:java:servlet:cycle_de_vie_1.jpg?300|Cycle de vie 1}} {{:helloworld:web:java:servlet:cycle_de_vie_2.jpg?300|Cycle de vie 2}}+{{:helloworld:web:java:servlet:cycle_de_vie_1.jpg|Cycle de vie 1}} {{:helloworld:web:java:servlet:cycle_de_vie_2.jpg|Cycle de vie 2}}
  
-[[http://javawebaction.blogspot.fr/2011/07/what-is-java-servlet-life-cycle-and-how.html|Source]] {{:helloworld:web:java:servlet:java_web_development.html.maff|Archive}}+[[http://javawebaction.blogspot.com/2011/07/what-is-java-servlet-life-cycle-and-how.html|What is Java Servlet Life Cycle and how to explain it]] {{ :helloworld:web:java:servlet:java_web_development_what_is_java_servlet_life_cycle_and_how_to_explain_it_2020-04-26_12_14_05_am_.html |Archive du 09/07/2011 le 27/04/2020}}
  
  
 =====Création du projet===== =====Création du projet=====
-Nécessite un projet de type [[eclipse:howto:dwp|Dynamic Web Project]]. Une fois le projet généré, il faut créer la servlet. Pour cela : ''File|New|Servlet'' et choisissez comme ''Superclass'' ''javax.servlet.http.HttpServlet''. Si la super classe n'est pas disponible, c'est que le ''Dynamic Web Project'' n'a pas été correctement créé. Ensuite cliquez sur ''Next|Next'' et demandez à implémenter les méthodes ''doGet'' et ''doPost'' en fonction des besoins.+Nécessite un projet de type [[ide:eclipse:projet|Dynamic Web Project]]. Une fois le projet généré, il faut créer la servlet. Pour cela : ''File|New|Servlet'' et choisissez comme ''Superclass'' ''javax.servlet.http.HttpServlet''. Si la super classe n'est pas disponible, c'est que le ''Dynamic Web Project'' n'a pas été correctement créé. Ensuite cliquez sur ''Next|Next'' et demandez à implémenter les méthodes ''doGet'' et ''doPost'' en fonction des besoins.
  
 {{:helloworld:web:java:servlet:1.png|Étape 1}}{{:helloworld:web:java:servlet:2.png|Étape 2}}{{:helloworld:web:java:servlet:3.png|Étape 3}}{{:helloworld:web:java:servlet:4.png|Étape 4}} {{:helloworld:web:java:servlet:1.png|Étape 1}}{{:helloworld:web:java:servlet:2.png|Étape 2}}{{:helloworld:web:java:servlet:3.png|Étape 3}}{{:helloworld:web:java:servlet:4.png|Étape 4}}
Ligne 16: Ligne 18:
 La création d'une servlet crée automatiquement un fichier ''web.xml''. La création d'une servlet crée automatiquement un fichier ''web.xml''.
  
-Si un message de type ''IWAE0035I No servlets exist to add'' apparait sous Gentoo, il faut suivre les instructions de [[https://forums.gentoo.org/viewtopic-t-934004.html|Gentoo]] {{:helloworld:web:java:servlet:gentoo-934004.maff|Archive}}, à savoir :+Si un message de type ''IWAE0035I No servlets exist to add'' apparait sous Gentoo, il faut suivre les instructions de [[https://forums.gentoo.org/viewtopic-t-934004.html|www-servers/tomcat-7.0.29-r1 with Eclipse WST]] {{ :helloworld:web:java:servlet:gentoo_forums_view_topic_-_solved_www-servers_tomcat-7.0.29-r1_with_eclipse_wst_2020-04-26_12_11_16_am_.html |Archive du 20/08/2012 le 27/04/2020}}, à savoir :
 <code bash> <code bash>
 cd /usr/share/tomcat-8/lib cd /usr/share/tomcat-8/lib
Ligne 22: Ligne 24:
 ln -s /usr/share/tomcat-servlet-api-3.1/lib/el-api.jar  ln -s /usr/share/tomcat-servlet-api-3.1/lib/el-api.jar 
 ln -s /usr/share/tomcat-servlet-api-3.1/lib/jsp-api.jar  ln -s /usr/share/tomcat-servlet-api-3.1/lib/jsp-api.jar 
-ln -s /usr/share/tomcat-servlet-api-3.1/ 
 ln -s /usr/share/tomcat-servlet-api-3.1/lib/servlet-api.jar  ln -s /usr/share/tomcat-servlet-api-3.1/lib/servlet-api.jar 
 </code> </code>
Ligne 287: Ligne 288:
 </file> </file>
 Rendu du formulaire : Rendu du formulaire :
-{{:helloworld:web:java:servlet:rendu_ex3.png?312|Rendu exemple 3}}+{{:helloworld:web:java:servlet:rendu_ex3.png|Rendu exemple 3}}
 Rendu de la réponse : Rendu de la réponse :
 <code> <code>
Ligne 293: Ligne 294:
 Valeur saisie du bean local : 153 Valeur saisie du bean local : 153
 </code> </code>
 +
 +=====Exemple 3b - avec validation des données=====
 +Dans le cas d'une ''servlet'', la vérification des données se fait dans la méthode ''doPost''. Le ''Javascript'' peut être utilisé en pré-traitement.
  
 =====Exemple 4 - context-param et init-param===== =====Exemple 4 - context-param et init-param=====
Ligne 484: Ligne 488:
 compteur : 1 compteur : 1
 </code> </code>
 +
 +=====Exemple 6 - Affichage d'une liste dans un tableau=====
 +La liste est générée par une classe Java et affiche un type [[helloworld:design_pattern:bean:java#cas_general|BeanPersonne]].
 +
 +<file java Liste6.java>
 +package com.llgc;
 +
 +import java.util.LinkedList;
 +import java.util.List;
 +
 +@ManagedBean
 +public class Liste6
 +{
 +  public static List <BeanPersonne> getListePersonne ()
 +  {
 +    LinkedList <BeanPersonne> liste = new LinkedList <> ();
 +    
 +    BeanPersonne personne = new BeanPersonne ();
 +    personne.setTaille (160);
 +    personne.setYeuxBleus (true);
 +    liste.add (personne);
 +    
 +    personne = new BeanPersonne ();
 +    personne.setTaille (170);
 +    personne.setYeuxBleus (true);
 +    liste.add (personne);
 +    
 +    personne = new BeanPersonne ();
 +    personne.setTaille (180);
 +    personne.setYeuxBleus (false);
 +    liste.add (personne);
 +    
 +    return liste;
 +  }
 +}
 +</file>
 +
 +<file java Servlet6.java>
 +package com.llgc;
 +
 +import java.io.IOException;
 +import java.io.PrintWriter;
 +import java.util.List;
 +
 +import javax.servlet.ServletException;
 +import javax.servlet.annotation.WebServlet;
 +import javax.servlet.http.HttpServlet;
 +import javax.servlet.http.HttpServletRequest;
 +import javax.servlet.http.HttpServletResponse;
 +
 +/**
 + * Servlet implementation class Servlet6
 + */
 +@WebServlet("/Servlet6")
 +public class Servlet6 extends HttpServlet {
 +  /**
 +   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 +   */
 +  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 +    response.setCharacterEncoding ("UTF-8");
 +    PrintWriter out = response.getWriter ();
 +    response.setContentType ("text/html");
 +    
 +    List <BeanPersonne> liste = Liste6.getListePersonne ();
 +
 +    out.println ("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">");
 +    out.println ("<html>");
 +    out.println ("<head>");
 +    out.println ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">");
 +    out.println ("<title>Insert title here</title>");
 +    out.println ("</head>");
 +    out.println ("<body>");
 +    out.println ("  <p>");
 +    out.println ("    <table border=\"1\">");
 +    out.println ("      <tr>");
 +    out.println ("        <td>Taille</td>");
 +    out.println ("        <td>Yeux bleus</td>");
 +    out.println ("      </tr>");
 +    
 +    for (BeanPersonne beanPersonne : liste)
 +    {
 +      out.println ("      <tr>");
 +      out.println ("        <td>" + beanPersonne.getTaille () + "</td>");
 +      out.println ("        <td>" + beanPersonne.isYeuxBleus () + "</td>");
 +      out.println ("      </tr>");
 +    }
 +    out.println ("    </table>");
 +    
 +    out.println ("  </p>");
 +    out.println ("</body>");
 +    out.println ("</html>");
 + }
 +
 + /**
 + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 + */
 + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 + doGet(request, response);
 + }
 +
 +}
 +</file>
 +
 +Rendu :
 +{{:helloworld:web:java:servlet:rendu_ex6.png|Rendu exemple6}}
helloworld/web/java/servlet.1439147364.txt.gz · Dernière modification : 2015/08/09 21:09 de root