270 likes | 777 Views
Exposé de Système - Informatique et R éseau. Présentation de JSP et comparaison à PHP. Exposé Système Informatique et R éseau. C édric Jourdan – IR5. PLAN. Introduction JSP PHP Lequel choisir entre JSP et PHP. INTRODUCTION. Les sites Internet sont de plus en plus riches
E N D
Exposéde Système - Informatique et Réseau Présentation de JSPet comparaison à PHP Exposé Système Informatique et Réseau Cédric Jourdan – IR5
PLAN • Introduction • JSP • PHP • Lequel choisir entreJSP et PHP
INTRODUCTION • Les sites Internet sont de plus en plus riches • Interaction avec l’utilisateur • Connexions avec des Bases de données et d’autres applications • Langage script côté serveur
JSP - (Java Server Pages) • Présentation • Exécution
JSP Présentation • Standard Java permettant de développer des Applications Web interactives • Intégrable au sein d’une page HTML • Langage script exécuté ducôté serveur • Répartition des tâches de développement
JSP Présentation - Modèle • Demande de fichier JSP
JSP Présentation – Syntaxe (1) • Exemple de code dans une page HTML <html> <body> <% String visitor = request.getParameter("name"); if (visitor == null) visitor = " World"; %> Hello, <%= visitor %>! </body> </html> • Affichage “Hello, World !” pour une requête http://serveur.fr/helloScript.jsp “Hello, Java !” pour une requête http://serveur.fr/helloScript.jsp?name=Java
JSP Présentation – Syntaxe (2) • Les Balises: • Les Directives Pour transmettre au conteneur de JSP des informations de traitement spécifiques à une page • Les éléments scripts Code JAVA compilé par le serveur Web • Les Commentaires Pour ajouter du texte explicatif à une page JSP • Les actions Elles permettent de réaliser plusieurs comportements différents (appel Applet, Servlet, JavaBean…)
Présentation Implantation Balises des JSP HTML et style HTML Balises JSP personnalisées Composants Java Servlets Java Bean Classes … JSPPrésentation - Implémentation • Séparation de la présentation et de l’implémentation
JSP Exécution- Conditions • Serveur Web HTTP (Apache, Netscape Enterprise Server …) • Conteneur de JSP (Tomcat … ) • JDK (Java Development Kit) contient un “Java Runtime Environment” (machine virtuelle), un compilateur …
JSP Exécution- Servlets • Programme exécuté sur le serveur Web • Peut recevoir et émettre des requêtes HTTP • Les JSP sont transformées en Servlet Application Web GET http://www/servlets/HelloWord Conteneur de Servlets Servelet HelloWord Requête Réponse JVM Client (Navigateur) <HTML>….<HelloWord></b></body></html> Serveur • API Java “javax.servlet” et “javax.servlet.http”
Analyse les JSP Compile la servlet JSP Charge la servlet Génère la réponse Génère le source de la servelet JSP Exécution- Fonctionnement Serveur HTTP Réception de la requête Conteneur de JSP Servelet du compilateur de page Servelet JSP courante? Non Oui Servelet JSP chargée? Oui Non Servlet de page JSP Envoie de la réponse
JSP Exécution– Fonctionnement (Étape 1) • client serveur + moteur • 2 façons: • - le client charge une URL http:// www. univ-mlv. fr/ prog. Jsp • le navigateur construit une commande HTTP GET GET /prog. jsp HTTP/ 1.1 • - le client saisit des informations dans un formulaire et clique sur envoi • le navigateur construit une commande HTTP POST • avec les données du formulaire (chaîne de caractères) POST /prog. jsp HTTP/ 1.1 Nom= Jourdan&Prenom= Cedric
JSP Exécution– Fonctionnement (Étape 2) • serveur + moteur JSP • Le "moteur": • - à la 1ère invocation, crée une classe, la compile et l' instancie. • Si la classe existe déjà, et elles aussi récente que la page HTML, on l’utilise. • - crée un thread • - invoque une méthode de la classe contenant le code à exécuter La JSP: - s'exécute sur le serveur Web Prog.jsp Serveur HTTP Conteneur JSP Nom=Jourdan&Prenom=Cedric 2 JVM
JSP Exécution– Fonctionnement (Étape 3&4) • 1) JSP serveur + moteur • La JSP: • - produit son résultat • 2) Serveur + moteur Client • Le serveur: • - propage le résultat au client • dans une réponse HTTP Prog.jsp Réponse HTML Serveur HTTP Réponse HTML Conteneur JSP 4 3 JVM Client (Navigateur) Serveur Web
JSP Exécution– Mise en cache des sorties • Fonctionnement HTTP • Le client (Navigateur) 1) réception de l’en-tête HTTP 2) réception du corps de la réponse • Le Serveur 1) envoie de l’en-tête HTTP (informations, cookies…) 2) émission de la page HTML
JSP Exécution– Mise en cache des sorties (2) • Problème du protocole HTTP avec JSP • Envoie de l’en-tête HTTP avant d’avoir traité le code JSP • On ne peut pas par exemple gérer les cookies avec JSP, car ils sont envoyés dans l’en-tête • Solution apportée par JSP • Mise en cache des résultats du traitement des pages JSP • On envoie la réponse au client une fois le code Java traite • On peut ainsi modifier l’en-tête HTTP • Caractéristiques du cache • Par défaut la mémoire tampon est de 8Ko • Un tampon par Servelet
PHP – (Personal Home Page) • Langage script interprété du cote serveur • Intégrable au sein d’une page HTML • Simplicité d’écriture des scripts
Génération de la réponse Activation du processus PHP Réception des sorties PHP PHP - Exécution Serveur HTTP Réception de la requête PHP Processus PHP Envoie de la requête
JSP ou PHP? – Le meilleur choix • JSP demande une plus grande complexité d’apprentissage que PHP • JSP est plus oriente pour s’interfacer sur de gros applicatifs comme les systèmes d’informations • PHP est plus adaptéà de petits applicatifs, qui demandent peux de développement
FIN • Bibliographie • Livre “JSP JavaServer Pages”, Duane K. FIELDS, Mark A. KOLB, édition Eyrolles. • java.sun.com/jsp/ • www.php.net • www.commentcamarche.net • http://deneau.multimania.com/ - Veille Technologique • JAVA ET INTERNET, G. ROUSSEL, E. DURIS, édition Vuibert