Carrefour de l information Applet, Servlet et JSP : des pages Web en action Philippe Mabilleau ing. 5 novembre 2002
Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté du client Servlet : de l action du coté du serveur JSP (Java Sever Pages) : un développement simplifié Que choisir? 2002-12-03 Philippe Mabilleau ing. 2
Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté du client Servlet : de l action du coté du serveur JSP (Java Sever Pages) : un développement simplifié Que choisir? 2002-12-03 Philippe Mabilleau ing. 3
Le Web ou la toile Origine historique Le Web Un outil de documentation Un ensemble planétaire de pages liées par des liens hypertextes Un maillage d hyper-liens Un langage : HTML Description et mise en forme des pages Un protocole : HTTP Supporte les échanges entre le serveur et le client 2002-12-03 Philippe Mabilleau ing. 4
Une requête HTTP Requête HTTP Internet Document HTML Pages HTML Client (Navigateur) Serveur (Site Web) 2002-12-03 Philippe Mabilleau ing. 5
Requêtes et documents Les requêtes GET Lecture d un document POST Envoi d informations et lecture d un document Les documents Documents HTML Affichés par le navigateur Autres Affichés par le navigateur (JPEG ) Affichés avec l application ad hoc (PDF ) 2002-12-03 Philippe Mabilleau ing. 6
Identification des documents URL = Uniform Resource Locator http://www.usherbrooke.ca/accueil/facultes.html Un protocole http:// Indique le moyen utilisé pour aller chercher le document Un site www.usherbrooke.ca Un nom sur Internet Un chemin /accueil/ Souvent associé à un chemin dans une arborescence de fichiers sur le serveur Un document facultes.html Peut être absent Peut comporter un signet Des paramètres peuvent être transmis avec l URL 2002-12-03 Philippe Mabilleau ing. 7
Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté du client Servlet : de l action du coté du serveur JSP (Java Sever Pages) : un développement simplifié Que choisir? 2002-12-03 Philippe Mabilleau ing. 8
Des pages en action Animer les pages Web par de l interaction avec l usager Les actions de l usager vont conditionner les contenus affichés Les pages ont un «comportement» plus ou moins complexe Réaction simple Animation graphique Action complexe Passer une commande en ligne Consulter une base de données 2002-12-03 Philippe Mabilleau ing. 9
par différents moyens Par un langage «interprété» J S P Au niveau du serveur Servlet Par un programme compilé Au niveau du client Applet Par un langage interprété Script 2002-12-03 Philippe Mabilleau ing. 10
Script client Interprétation de commandes au sein des pages HTML JavaScript,, VBScript Langage supporté par le navigateur Performance limitée Environnement contrôlé par le navigateur Code complètement accessible au client Aucune protection du code 2002-12-03 Philippe Mabilleau ing. 11
Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté du client Servlet : de l action du coté du serveur JSP (Java Sever Pages) : un développement simplifié Que choisir? 2002-12-03 Philippe Mabilleau ing. 12
Applet Programme Java intégré dans un document HTML L applet est référencé par le document HTML et est téléchargé à partir du serveur Balise applet <applet code=" " width=" =" " hight=" =" " " /> Les classes Java sont exécutées dans l environnement du client Machine virtuelle Java du client Accès sécurisé à l environnement 2002-12-03 Philippe Mabilleau ing. 13
Exécution d un applet Page HTML <applet > Requête HTTP Document HTML Page HTML Internet Applet Requête HTTP Fichier Classe Fichier Classe Serveur (Site Web) 2002-12-03 Philippe Mabilleau ing. 14
Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté du client Servlet : de l action du coté du serveur JSP (Java Sever Pages) : un développement simplifié Que choisir? 2002-12-03 Philippe Mabilleau ing. 15
Servlet Une requête HTTP provoque l exécution de code Java Une correspondance doit être établie entre la partie locale de l URL et le code à invoquer «mapping» du servlet Le code exécuté engendre une réponse qui est retournée au client Page HTML ou document Autres actions possibles au niveau du serveur Accès à une base de données Interaction avec le matériel 2002-12-03 Philippe Mabilleau ing. 16
Exécution d un servlet Fichier Classe Requête HTTP Internet Exécution Client (Navigateur) Document HTML Généré dynamiquement Document généré Serveur (Site Web) Machine Virtuelle Java 2002-12-03 Philippe Mabilleau ing. 17
Exemple de code d un servlet 2002-12-03 Philippe Mabilleau ing. 18
Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté du client Servlet : de l action du coté du serveur JSP (Java Sever Pages) : un développement simplifié Que choisir? 2002-12-03 Philippe Mabilleau ing. 19
J S P Java Server Page Script inséré dans le texte de la page En apparence seulement Le script est compilé par le serveur pour construire un servlet Ce servlet va engendrer le code HTML initial de la page ainsi que les actions du script 2002-12-03 Philippe Mabilleau ing. 20
Exemple de contenu J S P <% if (numguess.getsuccess()) { %> Congratulations! You got it. And after just <%= numguess.getnumguesses() %> tries.<p> <% numguess.reset(); %> Care to <a href=" ="numguess.jsp"> ">try again</a>? <% } else if (numguess.getnumguesses() == 0) { %> Welcome to the Number Guess game.<p> I'm thinking of a number between 1 and 100.<p> <form method=get> What's your guess? <input type=text text name=guess> <input type=submit value="submit"> </form> <% } else { %> Good guess, but nope. Try <b><%= numguess.gethint() %></b>. You have made <%= numguess.getnumguesses() %> guesses.<p> I'm thinking of a number between 1 and 100.<p> <form method=get> What's your guess? <input type=text text name=guess> <input type=submit value="submit"> </form> 2002-12-03 <% } %> Philippe Mabilleau ing. 21
Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté du client Servlet : de l action du coté du serveur JSP (Java Sever Pages) : un développement simplifié Que choisir? 2002-12-03 Philippe Mabilleau ing. 22
Applet,, J S P ou servlet? L applet s exécute sur le client Protection limité du code Performance du client Interaction avec le serveur via le réseau Interaction directe avec l usager Le servlet et la J S P s exécutent sur le serveur Le code reste sur le serveur Performance du serveur Interaction avec le serveur directe Interaction avec l usager via le réseau 2002-12-03 Philippe Mabilleau ing. 23
Servlet ou J S P? Le servlet est exécuté Le code est indépendant de toute page HTML L aspect «présentation» est traité séparément Dans d autres pages HTML par exemple Le modèle de multiprogrammation utilisé pour exécuter les servlets est le plus performant Idéal pour les «petits systèmes» La J S P est compilée et exécutée Le code et la page HTML sont liés Intégration de la présentation et des données Ressources de compilation requises sur le serveur Mise au point plus facile 2002-12-03 Philippe Mabilleau ing. 24
En conclusion Applet : interaction intensive avec l usager Servlet : interaction intensive avec l environnement du serveur J J S P : servlet au développement simplifié mais moins efficace 2002-12-03 Philippe Mabilleau ing. 25