helloworld:web:java:jsp
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:jsp [2015/08/11 22:26] – Description du rendu d'une servlet root | helloworld:web:java:jsp [2020/05/11 00:25] (Version actuelle) – Suppression de la taille par défaut pour les images root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
Une page '' | Une page '' | ||
- | <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===== | ||
- | {{: | + | {{: |
- | [[https:// | + | [[https:// |
+ | Sous Eclipse, les '' | ||
=====Création du projet===== | =====Création du projet===== | ||
- | Nécessite un projet de type [[eclipse:howto:dwp|Dynamic Web Project]]. | + | Nécessite un projet de type [[ide:eclipse:projet|Dynamic Web Project]]. |
+ | |||
+ | {{: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | =====Syntaxe===== | ||
+ | ''< | ||
+ | |||
+ | ''< | ||
+ | |||
+ | ''< | ||
+ | |||
+ | ''< | ||
+ | |||
+ | ''< | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | =====Confidentialité===== | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | < | ||
+ | |||
+ | * Les variables accessibles à une page JSP en fonction des portées sont '' | ||
+ | |||
+ | =====Variables implicites pour toutes les pages JSP===== | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | =====Exemple 0 - Page non dynamique===== | ||
+ | <file xml maPage.html> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | <p>Ma première page HTML.</ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | Puis consultez la page à [[http:// | ||
=====Exemple 1 - La base===== | =====Exemple 1 - La base===== | ||
Ligne 135: | Ligne 216: | ||
Rendu du formulaire : | Rendu du formulaire : | ||
- | {{: | + | {{: |
Rendu de la réponse : | Rendu de la réponse : | ||
- | {{: | + | {{: |
+ | |||
+ | |||
+ | =====Exemple 3b - JSP + Servlet===== | ||
+ | Mettre le code Java dans la page JSP peut être acceptable pour de petits projets mais pas plus ([[http:// | ||
+ | |||
+ | <file xml convinput.jsp> | ||
+ | <%@ page language=" | ||
+ | < | ||
+ | < | ||
+ | <meta http-equiv=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | Vous pouvez convertir une température exprimée en | ||
+ | < | ||
+ | <hr /> | ||
+ | <form method=" | ||
+ | Valeur en Celsius: <input type=" | ||
+ | <input type=" | ||
+ | </ | ||
+ | <hr /> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <file xml convoutput.jsp> | ||
+ | <%@ page language=" | ||
+ | pageEncoding=" | ||
+ | < | ||
+ | < | ||
+ | <meta http-equiv=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | Celsius ${requestScope.temperature.celsius}</ | ||
+ | < | ||
+ | < | ||
+ | degrés Fahrenheit </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | '' | ||
+ | |||
+ | '' | ||
+ | </ | ||
+ | |||
+ | <file java Temperature.java> | ||
+ | package modeles; | ||
+ | |||
+ | /** | ||
+ | * Une classe permettant d' | ||
+ | */ | ||
+ | public class Temperature { | ||
+ | /** | ||
+ | * La valeur, exprimée en degrés Celsius | ||
+ | */ | ||
+ | private double celsius; | ||
+ | |||
+ | /** | ||
+ | * Le constructeur, | ||
+ | */ | ||
+ | public Temperature(double valeurCelsius) { | ||
+ | celsius = valeurCelsius; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Pour obtenir la valeur en Celsius | ||
+ | * | ||
+ | * @return Valeur de la température en Celsius | ||
+ | */ | ||
+ | public double getCelsius() { | ||
+ | return celsius; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Pour obtenir la valeur en Fahrenheit | ||
+ | * | ||
+ | * @return Valeur de la température en Farenheit | ||
+ | */ | ||
+ | public double getFahrenheit() { | ||
+ | return (celsius * 9 / 5) + 32; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <file java Convertisseur.java> | ||
+ | package controllers; | ||
+ | |||
+ | import java.io.IOException; | ||
+ | |||
+ | import javax.servlet.RequestDispatcher; | ||
+ | import javax.servlet.ServletException; | ||
+ | import javax.servlet.annotation.WebServlet; | ||
+ | import javax.servlet.http.HttpServlet; | ||
+ | import javax.servlet.http.HttpServletRequest; | ||
+ | import javax.servlet.http.HttpServletResponse; | ||
+ | |||
+ | import modeles.Temperature; | ||
+ | |||
+ | /** | ||
+ | * Servlet implementation class Convertisseur | ||
+ | */ | ||
+ | @WebServlet("/ | ||
+ | public class Convertisseur extends HttpServlet { | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | */ | ||
+ | private static final long serialVersionUID = -4407786145652563255L; | ||
+ | |||
+ | /** | ||
+ | * @see HttpServlet# | ||
+ | */ | ||
+ | public Convertisseur() { | ||
+ | super(); | ||
+ | // TODO Auto-generated constructor stub | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * @see HttpServlet# | ||
+ | * response) | ||
+ | */ | ||
+ | protected void doGet(HttpServletRequest request, HttpServletResponse response) | ||
+ | throws ServletException, | ||
+ | String maVue = "/ | ||
+ | RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(maVue); | ||
+ | dispatcher.forward(request, | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * @see HttpServlet# | ||
+ | * response) | ||
+ | */ | ||
+ | protected void doPost(HttpServletRequest request, HttpServletResponse response) | ||
+ | throws ServletException, | ||
+ | // On devrait récuperer la valeur saisie par l' | ||
+ | String valCelsius = request.getParameter(" | ||
+ | if (valCelsius.isEmpty()) { | ||
+ | // Pas de valeur: il faudrait afficher un message, etc. | ||
+ | valCelsius = " | ||
+ | } | ||
+ | // Action: appliquons le convertisseur. Espérons que valCelsius | ||
+ | // représente | ||
+ | // bien un nombre, sinon... | ||
+ | Temperature temp = new Temperature(Double.valueOf(valCelsius)); | ||
+ | // Enregistrons l' | ||
+ | request.setAttribute(" | ||
+ | // Transfert à la vue | ||
+ | String maVue = "/ | ||
+ | RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(maVue); | ||
+ | dispatcher.forward(request, | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | Rendu du formulaire : | ||
+ | {{: | ||
+ | |||
+ | Rendu de la réponse : | ||
+ | {{: | ||
+ | |||
+ | =====Exemple 3c - avec validation des données===== | ||
+ | Dans le cas d'un '' | ||
+ | |||
+ | Méthode à ajouter au Bean : | ||
+ | <file java BeanPersonne.java> | ||
+ | public boolean validate () | ||
+ | { | ||
+ | if (taille < 30 || taille > 250) | ||
+ | { | ||
+ | return false; | ||
+ | } | ||
+ | return true; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <file xml index3b.jsp> | ||
+ | <%@ page language=" | ||
+ | pageEncoding=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <meta http-equiv=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | class=" | ||
+ | < | ||
+ | <% | ||
+ | if (!persoloc.validate ()) | ||
+ | { | ||
+ | %> | ||
+ | < | ||
+ | <% | ||
+ | } | ||
+ | %> | ||
+ | <br /> | ||
+ | <form method=" | ||
+ | Taille : <input name=" | ||
+ | value=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
=====Exemple 4 - context-param et init-param===== | =====Exemple 4 - context-param et init-param===== | ||
Ligne 310: | Ligne 601: | ||
Rendu : | Rendu : | ||
{{: | {{: | ||
+ |
helloworld/web/java/jsp.1439324780.txt.gz · Dernière modification : 2015/08/11 22:26 de root