helloworld:web:java:servlet
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| helloworld:web:java:servlet [2015/08/09 11:46] – Déplacement des images et ressources root | helloworld: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 '' | + | Un '' |
| - | <note>Tous les exemples ci-dessous utilisent le [[helloworld: | + | <WRAP center round info 60%> |
| + | Tous les exemples ci-dessous utilisent le [[helloworld: | ||
| + | </WRAP> | ||
| =====Cycle de vie===== | =====Cycle de vie===== | ||
| - | {{: | + | {{: |
| - | [[http:// | + | [[http:// |
| =====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 : '' | + | 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 : '' |
| {{: | {{: | ||
| Ligne 16: | Ligne 18: | ||
| La création d'une servlet crée automatiquement un fichier '' | La création d'une servlet crée automatiquement un fichier '' | ||
| - | Si un message de type '' | + | Si un message de type '' |
| <code bash> | <code bash> | ||
| cd / | cd / | ||
| Ligne 22: | Ligne 24: | ||
| ln -s / | ln -s / | ||
| ln -s / | ln -s / | ||
| - | ln -s / | ||
| ln -s / | ln -s / | ||
| </ | </ | ||
| Ligne 31: | Ligne 32: | ||
| import java.io.IOException; | import java.io.IOException; | ||
| + | import java.io.OutputStreamWriter; | ||
| import java.io.PrintWriter; | import java.io.PrintWriter; | ||
| + | import java.nio.charset.StandardCharsets; | ||
| import javax.servlet.ServletException; | import javax.servlet.ServletException; | ||
| Ligne 51: | Ligne 54: | ||
| protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| { | { | ||
| - | PrintWriter out = new PrintWriter (new OutputStreamWriter (response.getOutputStream | + | |
| - | | + | |
| response.setContentType (" | response.setContentType (" | ||
| - | | + | |
| out.println ("< | out.println ("< | ||
| out.println ("< | out.println ("< | ||
| Ligne 132: | Ligne 135: | ||
| protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| { | { | ||
| - | PrintWriter out = new PrintWriter (new OutputStreamWriter (response.getOutputStream | + | |
| - | | + | |
| response.setContentType (" | response.setContentType (" | ||
| Ligne 218: | Ligne 221: | ||
| { | { | ||
| BeanPersonne pers = new BeanPersonne (); | BeanPersonne pers = new BeanPersonne (); | ||
| - | | + | |
| pers.setTaille (123); | pers.setTaille (123); | ||
| config.getServletContext ().setAttribute (" | config.getServletContext ().setAttribute (" | ||
| - | | + | |
| super.init (config); | super.init (config); | ||
| } | } | ||
| Ligne 231: | Ligne 234: | ||
| protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| { | { | ||
| - | | + | |
| - | | + | |
| - | | + | BeanPersonne pers = new BeanPersonne (); |
| - | + | ||
| - | request.getSession (true).setAttribute (" | + | |
| - | + | ||
| - | response.setContentType (" | + | |
| - | | + | request.getSession (true).setAttribute (" |
| - | out.println ("< | + | |
| - | out.println ("< | + | response.setContentType (" |
| - | out.println ("< | + | |
| - | out.println ("< | + | |
| - | out.println ("</ | + | out.println ("< |
| - | out.println ("< | + | out.println ("< |
| - | out.println (" | + | out.println ("< |
| - | out.println (" | + | out.println ("< |
| - | out.println (" | + | out.println ("</ |
| - | out.println (" | + | out.println ("< |
| - | out.println (" | + | out.println (" |
| - | out.println ("</ | + | out.println (" |
| - | out.println ("</ | + | out.println (" |
| - | } | + | out.println (" |
| + | out.println (" | ||
| + | out.println ("</ | ||
| + | out.println ("</ | ||
| } | } | ||
| Ligne 262: | Ligne 264: | ||
| protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, | protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| { | { | ||
| - | | + | |
| - | | + | |
| - | | + | BeanPersonne persApp = (BeanPersonne) getServletContext ().getAttribute (" |
| - | BeanPersonne persLoc = (BeanPersonne)request.getSession (true).getAttribute (" | + | BeanPersonne persLoc = (BeanPersonne) request.getSession (true).getAttribute (" |
| - | persLoc.setTaille (Integer.parseInt (request.getParameter (" | + | persLoc.setTaille (Integer.parseInt (request.getParameter (" |
| - | | + | |
| - | | + | |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("</ | + | out.println ("</ |
| - | out.println ("< | + | out.println ("< |
| - | out.println (" | + | out.println (" |
| - | out.println (" | + | out.println (" |
| - | out.println (" | + | out.println (" |
| - | out.println ("</ | + | out.println ("</ |
| - | out.println ("</ | + | out.println ("</ |
| - | } | + | |
| } | } | ||
| } | } | ||
| </ | </ | ||
| Rendu du formulaire : | Rendu du formulaire : | ||
| - | {{: | + | {{: |
| Rendu de la réponse : | Rendu de la réponse : | ||
| < | < | ||
| Ligne 293: | Ligne 294: | ||
| Valeur saisie du bean local : 153 | Valeur saisie du bean local : 153 | ||
| </ | </ | ||
| + | |||
| + | =====Exemple 3b - avec validation des données===== | ||
| + | Dans le cas d'une '' | ||
| =====Exemple 4 - context-param et init-param===== | =====Exemple 4 - context-param et init-param===== | ||
| + | Ajout de 3 '' | ||
| <file xml web.xml> | <file xml web.xml> | ||
| <?xml version=" | <?xml version=" | ||
| Ligne 350: | Ligne 355: | ||
| protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| { | { | ||
| - | | + | |
| - | | + | |
| - | | + | response.setContentType (" |
| - | | + | |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("< | + | out.println ("< |
| - | out.println ("</ | + | out.println ("</ |
| - | out.println ("< | + | out.println ("< |
| - | out.println (" | + | out.println (" |
| - | out.println ("nom : " + getServletContext ().getInitParameter (" | + | out.println ("nom : " + getServletContext ().getInitParameter (" |
| - | out.println ("pass : " + getServletContext ().getInitParameter (" | + | out.println ("pass : " + getServletContext ().getInitParameter (" |
| - | out.println (" | + | out.println (" |
| - | out.println ("nom2 : " + getInitParameter (" | + | out.println ("nom2 : " + getInitParameter (" |
| - | out.println (" | + | out.println (" |
| - | out.println ("</ | + | out.println ("</ |
| - | out.println ("</ | + | out.println ("</ |
| - | } | + | |
| } | } | ||
| Ligne 389: | Ligne 393: | ||
| nom2 : utilisateurServlet | nom2 : utilisateurServlet | ||
| </ | </ | ||
| + | |||
| + | =====Exemple 5 - Cookies===== | ||
| + | <file java Servlet5.java> | ||
| + | package com.llgc; | ||
| + | |||
| + | import java.io.IOException; | ||
| + | import java.io.PrintWriter; | ||
| + | |||
| + | import javax.servlet.ServletException; | ||
| + | import javax.servlet.annotation.WebServlet; | ||
| + | import javax.servlet.http.Cookie; | ||
| + | import javax.servlet.http.HttpServlet; | ||
| + | import javax.servlet.http.HttpServletRequest; | ||
| + | import javax.servlet.http.HttpServletResponse; | ||
| + | |||
| + | /** | ||
| + | * Servlet implementation class Servlet5 | ||
| + | */ | ||
| + | @WebServlet ("/ | ||
| + | public class Servlet5 extends HttpServlet | ||
| + | { | ||
| + | /** | ||
| + | * @see HttpServlet# | ||
| + | | ||
| + | */ | ||
| + | protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| + | { | ||
| + | response.setCharacterEncoding (" | ||
| + | PrintWriter out = response.getWriter (); | ||
| + | String value = getCookie (request.getCookies (), " | ||
| + | response.setContentType (" | ||
| + | int compteur = 0; | ||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("</ | ||
| + | out.println ("< | ||
| + | out.println (" | ||
| + | if (value == null) | ||
| + | { | ||
| + | out.println ("Pas de cookie, allez cuisiner !!!"); | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | compteur = Integer.parseInt (value); | ||
| + | out.println (" | ||
| + | } | ||
| + | out.println (" | ||
| + | out.println ("</ | ||
| + | out.println ("</ | ||
| + | compteur++; | ||
| + | Cookie c = new Cookie (" | ||
| + | c.setMaxAge (3600); | ||
| + | response.addCookie (c); | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * @see HttpServlet# | ||
| + | | ||
| + | */ | ||
| + | protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| + | { | ||
| + | doGet (request, response); | ||
| + | } | ||
| + | |||
| + | // Renvoie la valeur d'un cookie. | ||
| + | protected static String getCookie (Cookie[] cookies, String cookieName) | ||
| + | { | ||
| + | if (cookies == null) | ||
| + | { | ||
| + | return null; | ||
| + | } | ||
| + | for (int i = 0; i < cookies.length; | ||
| + | { | ||
| + | if (cookieName.equalsIgnoreCase (cookies[i].getName ())) | ||
| + | { | ||
| + | return cookies[i].getValue (); | ||
| + | } | ||
| + | } | ||
| + | return null; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Rendu 1 : | ||
| + | < | ||
| + | Pas de cookie, allez cuisiner !!! | ||
| + | </ | ||
| + | |||
| + | Rendu 2 : | ||
| + | < | ||
| + | compteur : 1 | ||
| + | </ | ||
| + | |||
| + | =====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: | ||
| + | |||
| + | <file java Liste6.java> | ||
| + | package com.llgc; | ||
| + | |||
| + | import java.util.LinkedList; | ||
| + | import java.util.List; | ||
| + | |||
| + | @ManagedBean | ||
| + | public class Liste6 | ||
| + | { | ||
| + | public static List < | ||
| + | { | ||
| + | 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 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("/ | ||
| + | public class Servlet6 extends HttpServlet { | ||
| + | /** | ||
| + | * @see HttpServlet# | ||
| + | */ | ||
| + | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| + | response.setCharacterEncoding (" | ||
| + | PrintWriter out = response.getWriter (); | ||
| + | response.setContentType (" | ||
| + | | ||
| + | List < | ||
| + | |||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("< | ||
| + | out.println ("</ | ||
| + | out.println ("< | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | | ||
| + | for (BeanPersonne beanPersonne : liste) | ||
| + | { | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | out.println (" | ||
| + | } | ||
| + | out.println (" | ||
| + | | ||
| + | out.println (" | ||
| + | out.println ("</ | ||
| + | out.println ("</ | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * @see HttpServlet# | ||
| + | */ | ||
| + | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
| + | doGet(request, | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | Rendu : | ||
| + | {{: | ||
helloworld/web/java/servlet.1439113591.txt.gz · Dernière modification : de root
