JSP Java Server Pages Cours JSP.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Réaliser en Java un programme client d’une Base de Données
Module 5 : Implémentation de l'impression
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Exposé de Système - Informatique et Réseau
Programmation Web Les JSP.
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Les Bases de données et le Web
Stéphane Frenot - Département Télécommunication - SID - II - Jdbc 280 JDBC Java Databases Connectivity.

PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
TP 3-4 BD21.
JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
Servlet JAVA.
Sécurité Informatique
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
Common Gateway Interface
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
L’utilisation des bases de données
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
JAVASERVER FACES Un framework Java pour le développement Web.
JDBC Java Data Base Connectivity. Java DataBase Connectivity (JDBC) Cette API est développée par Sun en collaboration avec les grands éditeurs de SGBD.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
SERVLETS PRESENTATION
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
JDBC ou comment manipuler une base de données en Java ?
Les instructions PHP pour l'accès à une base de données MySql
28 novembre 2012 Grégory Petit
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Introduction à la programmation (Java)
Manipulation de formulaires en Javascript
IFT 6800 Atelier en Technologies d’information
Servlets.
JSP (Java Server Pages)
COURS DE PROGRAMMATION ORIENTEE OBJET :
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Animateur : Med HAIJOUBI
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
PHP & My SQL.
Module I-C3 : Applications Web IUT R&T 2e année
PHP 5° PARTIE : LES COOKIES
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
JavaScript.
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 10 Accès distant aux bases de données.
 Syntaxe du langage PHP
 Requêtes MySQL en PHP Introduction
Introduction au langage C Fonctions et Procédures
Les sockets.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Cours LCS N°4 Présenté par Mr: LALLALI
 Formulaires HTML : traiter les entrées utilisateur
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Initiation au web dynamique Licence Professionnelle.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
JDBC - p. 1 JDBC. JDBC - p. 2 Objectifs Fournir un accès homogène aux SGBDR Abstraction des SGBDR cibles Requêtes SQL Simple à mettre en oeuvre Core API.
Les Java Server Pages Dans ce chapitre, nous allons :
JDBC (Complément de cours) IFT 3030
IFT 6800 Atelier en Technologies d’information Chapitre 5 Introduction aux Servelets & JSP.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

JSP Java Server Pages Cours JSP

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. Cours JSP

Servlets Cours JSP

Exemple Servlets import javax.servlet.*; import javax.servlet.http.*; 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(); } Cours JSP

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. Cours JSP

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> Cours JSP

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

Eléments de JSP Scriptlet; Déclaration de variable; Conditionnel; L’objet out; Déclaration de Tableau; Boucle for; Commentaire JSP; Traitement des formulaires; Accès aux bases de données; Cours JSP

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

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 Cours JSP

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

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

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> Cours JSP

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(….); Cours JSP

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> Cours JSP

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}; %> Cours JSP

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; } Cours JSP

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(prix[i]); out.print(</td></tr>); %> </table> Cours JSP

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

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

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. Cours JSP

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. Cours JSP

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. Cours JSP

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. Cours JSP

Exemple de getParamater <% String nomUtilisateur = request.getParameter(‘’nom’’); String MotDePasse = request.getParameter(‘’motDePasse’’); %> Cours JSP

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. Cours JSP

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>’’); %> Cours JSP

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. Cours JSP

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. Cours JSP

Exemple <% String nbLignesCh = request.getParameter(‘’nblignes’’); Int nbLignes = Integer.parseInt(nbLignesCh); %> Cours JSP

Accès aux bases de données Java fournit une architecture standard pour dialoguer avec les bases de données. Affin d’assurer la compatibilité de Java avec un maximum de base de données, ses concepts ont adopté l’architecture classique de pilotes. L’application Java (ou page JSP) utilise les mêmes instructions JDBC pour s’adresser au pilote. Cours JSP

Pour cela, il faut que la page JSP trouve ce pilote. Quand un programme (une page JSP) souhaite accéder à une base, il commence par demander le chargement du pilote en mémoire. Pour cela, il faut que la page JSP trouve ce pilote. Cours JSP

Conditions d’accès à une base de données. Installer le pilote pour que la page JSP puisse le trouver; Dans la page JSP, demander le chargement en mémoire du pilote; Dans la page JSP, utiliser le pilote pour établir la connexion, effectuer les requêtes souhaitées. Cours JSP

Installation d’un pilote. Cette action n’est faite qu’une seul fois, au moment du déploiement. Retrouver le pilote dans le dossier shared de Tomcat; Copier le pilote sous forme archive jar sans le décompacter, dans l’un des dossiers suivants: Cours JSP

Option 1 d’installation du pilote Le pilote peut être placer dans le dossier lib; $TOMCAT_HOME/shared/lib Redémarrer Tomcat, pour la prise en charge du pilote. Cours JSP

Option 2 d’installation du pilote Le pilote peut être placer dans le dossier $TOMCAT_HOME/common/lib Redémarrer Tomcat Ceci rend le pilote accessible par toutes les applications web ainsi que Tomcat lui-même. Cours JSP

Option 3 d’installation du pilote Le pilote peut aussi être placer dans le dossier $TOMCAT_HOME/webapps/nom_application/WEB-INFO/lib Redémarrer l’application web «nom_application » Cours JSP

Accès à partir d’une page JSP L’utilisation d’une base de données à partir de d’une page JSP comporte les étapes suivantes: Avoir le droit d’accès à un serveur de base de données; Disposer d’un pilote correspondant à la base; Charger le pilote en mémoire; Ouvrir une connexion vers la base; Effectuer des requêtes et exploiter les résultats; Libérer les ressources, en particulier fermer la connexion. Les deux premiers étapes ont déjà été réalisées. Cours JSP

Chargement du pilote en mémoire Il exit plusieurs manier de charger un pilote à partir d’une page JSP dont voici une; Class.forName(nom de la classe); Exemple de chargement d’un pilote «mysql» par une page JSP: Class.forName(‘’com.mysql.jdbc.Driver’’) Cours JSP

Etablissement de la connexion La connexion vers une base de donnée se fait par: Java.sql.Connection cnx = Java.sql.DriverManager.getConnection (urlDelaBase, login, motDePasse); Cours JSP

Préparation de la requête Une fois la connexion établie, on peut l’utiliser autant de fois qu’on le souhaite; Pour cela, on lui demande d’instancier une requête par : Java.sql.Statement req = cnx.createStatement(); Cours JSP

Exécution d’un SELECT L’exécution d’une requête SQL SELECT se décompose on deux partie à savoir: L’envoi de la requête; L’exploitation du résultat. Cours JSP

Envoi de la requête Pour effectuer une reqête de consultation (select), on invoque la méthode executeQuery du Statement en lui passant la requête SQL à effectuer. Le résultat de cette requête est un ensemble de ligne représenté en JAVA par une instance de java.sql.ResultSet. Exemple: Java.sql.ResultSet rs = req.executeQuery(‘’SELECT * FROM Client’’); Cours JSP

Exploitation des résultats Un java.sql.Result est un moyen de parcourir le résultat d’une requête SELECT. Un tel objet possède la méthode next. Cette méthode ne prend pas d’argument et revoie vrai (s’il y a au moins une ligne) ou faux. Cours JSP

Exploitation des résultats Cet objet possède aussi des méthodes qui permettent de consulter le contenu de la ligne courante dans le résultat: getString(nom de la colonne); getInt(nom de la colonne); getDate(nom de la colonne); getDouble(nom de la colone); Cours JSP

Exemple d’utilisation du résultat <% Out.println(‘’<table border=‘1’>’’; Out.println(‘’<tr>’’); Out.println(‘’<th>Nom</th><th>Ville</th>’’); Out.println(‘’</tr>’’); While (rs.next()) { out.println(‘’<tr>’’); out.print(‘’<td>rs.getString(‘’nom’’)</td>’’); out.print(‘’<td>rs.getString(‘’Ville’’)</td>’’); out.println(‘’</tr>’’); } Out.println(‘’</table>’’; %> Cours JSP

Fermeture des différents élements À la fin de l’utilisation d’une base de donnée il est impératif d’effectuer une fermeture de cette dernière. Cette opération de fermeture s’effectue par le message close qui doit être envoyer respectivement à ResultSet, puis à Statement et enfin à la Connection. Cours JSP

Exemple de fermeture rs.close; req.close; cnx.close; Cours JSP

Exécution d’un INSERT ou d’un UPDATE Pour effectuer une requête de modification (insert, update), on demande au Statement la méthode executeUpdate en lui passant la requête SQL à effectuer. On obtient en résultat le nombre de lignes qui ont été affectées par la requête. Cours JSP

Exemple d’INSERT Int nbLignes = req.executeUpdate (‘’INSERT INTO client VALUES (3,’Ali’, ‘Mohamed’, ‘Constantine’); Cours JSP

Exemple d’UPDATE Int nbLignes = req.executeUpdate (‘’UPDATE client SET ville = ‘Annaba’ WHERE nom = ‘Ali’); Cours JSP