JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une...

30
JSP Java Server Pages

Transcript of JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une...

Page 1: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

JSP

Java Server Pages

Page 2: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Introduction

Afin d’implémenter les règles métiers, coté serveur dans une application Web, l’architecture Java propose trois solutions : En pur JAVA (servlets); À l’intérieur de code HTML (pages JSP); Mixage des deux premiers solutions.

Page 3: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Servlets

Page 4: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple Servlets

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ExempleServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse

res) throws ServletException, IOException { // positionnement du type de contenu res.setContentType("text/html"); // écriture du contenu PrintWriter out = res.getWriter(); out.println("<HTML>"); out.println("<HEAD>"); out.println("<TITLE>ExempleServlet</TITLE>"); out.println("</HEAD>"); out.println("<BODY>"); out.println("<H1 align="center">ExempleServlet</H1>"); out.println("</BODY>"); out.println("</HTML>"); out.close(); } }

Page 5: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

JSP

Consiste à insérer dans le code HTML des instructions qui sont exécutées sur le serveur.

Lorsque la page est sollicitée par une requête, ces instructions peuvent produire de l’HTML mais aussi accéder à une base de données et effectuer des calculs.

Page 6: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple JSP<%! Int compteur =0; %><HTML><BODY> Bonjour. <BR> <% compteur ++; if (compteur == 1) %> Vous etes le premier visiteur. <% else %> Vous etes le <%=compteur %> eme visiteur.</BODY></HTML>

Page 7: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Solution mixte

Les solutions moderne des applications Web, permettent de mêler les deux premières solutions (Servlets et JSP)

Page 8: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Eléments de JSP

Scriptlet; Déclaration de variable; Conditionnel; L’objet out; Déclaration de Tableau; Boucle for; Commentaire JSP; Traitement des formulaires;

Page 9: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

scriptlet

Afin d’indiquer au serveur que ce qui suit est du JSP, en utilise la balise <% ………. %>

Page 10: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Déclaration de variable La balise <%! ……%> Permet de déclarer une variable. Exemple: <%! Int i; %> <%! Int i = 0;%> <%! Float f, g = 1.2, h; %> Remarque: l’identificateur d’une

variable doit respecter les règles des variables dans JAVA

Page 11: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Conditionnel L’expression conditionnel s’effectue

par: <% if (condition) { actions } %>

Page 12: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

<% if (condition) { actions } else { actions } %>

Page 13: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple <% int i = 0; %><html><head> <title> </title></head><body><h1><% ++1;If (i==1) { out.println(‘’vous etes le premier ‘’); }Else { out.print (‘’visiteur numero ‘’); out.println(i); }%></h1></body></html>

Page 14: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

L’objet out

Out est un objet prédéfini dans les pages JSP qui dispose de deux méthodes : Print : pour afficher sur la page une

information syntaxe : out.print(…..); Println : pour afficher sur la page une

information avec un saut de ligne. syntaxe : out.prinln(….);

Page 15: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple

<%! Int i = 0;%><html><head><title>exemple objet out </title> <head><body><h1 align = center> exemple </h1><% i++;If (i==1) { out.println(‘’Vous etes le premier visiteur’’);}Else { out.println(‘’Visiteur numero ‘’ + i); }<br> date courante : <%=new java.util.date() %></body></html>

Page 16: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Déclaration de Tableau Un tableau permet de gérer plusieurs

valeur de même type. La déclaration se fait dans JAVA. Exemple:

<% double[] prix = {12.5, 14, 18}; int[] qtes = {50, 20, 30}; %>

Page 17: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Boucle for La boucle for est constituée d’un en-

tête entre parenthèses et d’un corps. Syntaxe : for (variable itérative; condition

d’interaction; pas) { actions; }

Page 18: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple boucle for et tableau<table border> <tr> <th>Quantite</th> <th>Prix</th> </tr> <% for (int i=0; i< prix.length; i++) { out.println(‘’<tr>’’); out.print(‘’<td>’’); out.print(qtes[i]); out.print(</td>); out.print(‘’<td>’’); out.print(prix[i]); out.print(</td></tr>); %></table>

Page 19: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Commentaire JSP

Un commentaire JSP s’effectue par la balise

<!-- ……… --> Remarque : si le commentaire est

dans le scriptlet c’est un commentaire JAVA.

Page 20: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Traitement des formulaires

Introduction; Méthodes GET et POST; Récupération de la valeur d’un

paramètre;

Page 21: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Introduction L’intérêt des formulaires est de pouvoir

introduire des données en vue d’être traitées par une logique métier.

L’utilisation de formulaire et fait en deux temps: L’utilisateur remplit un formulaire et le

soumet au serveur. Le serveur extrait les informations fournies

par l’utilisateur et les utilise pour construire la réponse.

Page 22: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Method GET Si l’attribut method de la balise form

est get, le navigateur met les valeurs des paramètres dans l’en-tête de la requête elle-même.

De plus, la requête contient en clair les valeurs des paramètres et est stockée telle quelle dans l’historique, ce qui est judicieux si l’un de ces paramètres est un mot de passe.

Page 23: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Method POST

Si l’attribut method de la balise form est post, le navigateur met les valeurs des paramètres dans l’en-tête de la requête elle-même.

Avec post, les valeurs des paramètres ne sont pas affichées dans l’URL.

Page 24: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Récupération de la valeur d’un paramètre.

La récupération de la valeur d’un paramètre s’effectue à travers l’objet request.

Cet objet dispose d’une méthode getParameter qui cherche la valeur d’un paramètre d’un formulaire.

Page 25: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple de getParamater

<%String nomUtilisateur =

request.getParameter(‘’nom’’);String MotDePasse =

request.getParameter(‘’motDePasse’’);%>

Page 26: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Paramètres à valeurs multiples Un paramètre peut avoir une valeur

multiple. Dans ce cas, il faut utiliser la méthode getParameterValues().

Cette méthode renvoie un tableau de chaînes de caractères.

Page 27: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple de paramètres à valeurs multiples

<%String[] sportsFavoris =

request.getParameterValues(‘’sp’’);Out.println(‘’<ul>’’);For (int i=0; i < sprortsFavoris.length ; i+

+) { out.println(‘’<li>’’ + sportsFavoris[i] +

‘’</li>’’);}Out.println(‘’</ul>’’);%>

Page 28: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Noms des paramètres La méthode getParameterNames

permet d’obtenir un tableau contenant les noms de tous les paramètres présents dans la requête.

Page 29: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Conversion d’une chaîne La méthode getParameter renvoie une chaîne

de caractères. Si le paramètre est une valeur numérique, il faut convertir la chaîne de caractères en nombre pour pouvoir l’utiliser.

Cela se fait par la méthode JAVA appropriée : Byte.parseByte; Short.parseShort; Integer.parseInt; Long.parseLong; Float.parseFloat; Double.parseDouble.

Page 30: JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.

Exemple

<%String nbLignesCh =

request.getParameter(‘’nblignes’’);Int nbLignes =

Integer.parseInt(nbLignesCh);%>