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 : 2015/08/09 11:46 de root