jsp java server pages. introduction afin dimplémenter les règles métiers, coté serveur dans une...

30
JSP Java Server Pages

Upload: maxence-deville

Post on 03-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

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);%>