JSP Java Server Pages Introduction Afin dimplmenter les

  • Slides: 30
Download presentation
JSP Java Server Pages

JSP Java Server Pages

Introduction ¡ Afin d’implémenter les règles métiers, coté serveur dans une application Web, l’architecture

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

Servlets

Servlets

Exemple Servlets } import java. io. *; import javax. servlet. http. *; public class

Exemple Servlets } import java. io. *; import javax. servlet. http. *; public class Exemple. Servlet extends Http. Servlet { public void do. Get(Http. Servlet. Request req, Http. Servlet. Response res) throws Servlet. Exception, IOException { // positionnement du type de contenu res. set. Content. Type("text/html"); // écriture du contenu Print. Writer out = res. get. Writer(); out. println("<HTML>"); out. println("<HEAD>"); out. println("<TITLE>Exemple. Servlet</TITLE>"); out. println("</HEAD>"); out. println("<BODY>"); out. println("<H 1 align="center">Exemple. Servlet</H 1>"); out. println("</BODY>"); out. println("</HTML>"); out. close(); }

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

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. ¡

Exemple JSP <%! Int compteur =0; %> <HTML> <BODY> Bonjour. <BR> <% compteur ++;

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>

Solution mixte Les solutions moderne des applications Web, permettent de mêler les deux premières

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

Eléments de JSP Scriptlet; ¡ Déclaration de variable; ¡ Conditionnel; ¡ L’objet out; ¡

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

scriptlet ¡ Afin d’indiquer au serveur que ce qui suit est du JSP, en

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

Déclaration de variable La balise <%! ……%> ¡ Permet de déclarer une variable. ¡

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 ¡

Conditionnel L’expression conditionnel s’effectue par: ¡ <% ¡ if (condition) { ¡ actions ¡

Conditionnel L’expression conditionnel s’effectue par: ¡ <% ¡ if (condition) { ¡ actions ¡ } ¡ %> ¡

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

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

Exemple <% int i = 0; %> <html> <head> <title> </head> <body> <h 1>

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

L’objet out ¡ Out est un objet prédéfini dans les pages JSP qui dispose

L’objet out ¡ Out est un objet prédéfini dans les pages JSP qui dispose de deux méthodes : l l 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(…. );

Exemple <%! Int i = 0; %> <html> <head><title>exemple objet out </title> <head> <body>

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

Déclaration de Tableau Un tableau permet de gérer plusieurs valeur de même type. ¡

Déclaration de Tableau Un tableau permet de gérer plusieurs valeur de même type. ¡ La déclaration se fait dans JAVA. ¡ Exemple: ¡ l <% double[] prix = {12. 5, 14, 18}; int[] qtes = {50, 20, 30}; %>

Boucle for La boucle for est constituée d’un entête entre parenthèses et d’un corps.

Boucle for La boucle for est constituée d’un entête entre parenthèses et d’un corps. ¡ Syntaxe : for (variable itérative; condition d’interaction; pas) { actions; } ¡

Exemple boucle for et tableau <table border> <th>Quantite</th> <th>Prix</th> </tr> <% for (int i=0;

Exemple boucle for et tableau <table border> <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>

Commentaire JSP Un commentaire JSP s’effectue par la balise <!-- ……… --> ¡ Remarque

Commentaire JSP Un commentaire JSP s’effectue par la balise <!-- ……… --> ¡ Remarque : si le commentaire est dans le scriptlet c’est un commentaire JAVA. ¡

Traitement des formulaires Introduction; ¡ Méthodes GET et POST; ¡ Récupération de la valeur

Traitement des formulaires Introduction; ¡ Méthodes GET et POST; ¡ Récupération de la valeur d’un paramètre; ¡

Introduction L’intérêt des formulaires est de pouvoir introduire des données en vue d’être traitées

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 l 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.

Method GET Si l’attribut method de la balise form est get, le navigateur met

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. ¡

Method POST Si l’attribut method de la balise form est post, le navigateur met

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. ¡

Récupération de la valeur d’un paramètre. La récupération de la valeur d’un paramètre s’effectue

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 get. Parameter qui cherche la valeur d’un paramètre d’un formulaire. ¡

Exemple de get. Paramater <% String nom. Utilisateur = request. get. Parameter(‘’nom’’); String Mot.

Exemple de get. Paramater <% String nom. Utilisateur = request. get. Parameter(‘’nom’’); String Mot. De. Passe = request. get. Parameter(‘’mot. De. Passe’’); %>

Paramètres à valeurs multiples Un paramètre peut avoir une valeur multiple. Dans ce cas,

Paramètres à valeurs multiples Un paramètre peut avoir une valeur multiple. Dans ce cas, il faut utiliser la méthode get. Parameter. Values(). ¡ Cette méthode renvoie un tableau de chaînes de caractères. ¡

Exemple de paramètres à valeurs multiples <% String[] sports. Favoris = request. get. Parameter.

Exemple de paramètres à valeurs multiples <% String[] sports. Favoris = request. get. Parameter. Values(‘’sp’’); Out. println(‘’<ul>’’); For (int i=0; i < sprorts. Favoris. length ; i++) { out. println(‘’<li>’’ + sports. Favoris[i] + ‘’</li>’’); } Out. println(‘’</ul>’’); %>

Noms des paramètres ¡ La méthode get. Parameter. Names permet d’obtenir un tableau contenant

Noms des paramètres ¡ La méthode get. Parameter. Names permet d’obtenir un tableau contenant les noms de tous les paramètres présents dans la requête.

Conversion d’une chaîne ¡ ¡ La méthode get. Parameter renvoie une chaîne de caractères.

Conversion d’une chaîne ¡ ¡ La méthode get. Parameter 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 : l Byte. parse. Byte; l Short. parse. Short; l Integer. parse. Int; l Long. parse. Long; l Float. parse. Float; l Double. parse. Double.

Exemple <% String nb. Lignes. Ch = request. get. Parameter(‘’nblignes’’); Int nb. Lignes =

Exemple <% String nb. Lignes. Ch = request. get. Parameter(‘’nblignes’’); Int nb. Lignes = Integer. parse. Int(nb. Lignes. Ch); %>