22
Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

Embed Size (px)

Citation preview

Page 1: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

Exposé SystèmeInformatique et RéseauPrésentation de JSP et comparaison à PHP

Exposé de Système - Informatique et Réseau

Cédric Jourdan – IR5

Page 2: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

PLAN

Introduction

JSP

PHP

Lequel choisir entre JSP et PHP

Page 3: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

Page 4: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

JSP - (Java Server Pages)

Présentation

Exécution

Page 5: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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é du côté serveur

Répartition des tâches de développement

Page 6: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

JSP Présentation - Modèle

Demande de fichier JSP

Page 7: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

Page 8: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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…)

Page 9: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

JSP Présentation - Implémentation

Séparation de la présentation et de l’implémentation

ImplantationPrésentation

Balises des JSP HTMLet style HTML

Composants JavaServlets

Java BeanClasses …

BalisesJSP

personnalisées

Page 10: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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 …

Page 11: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

JVM

Servelet HelloWord

Requête

Serveur

Client(Navigateur)

GET http://www/servlets/HelloWordApplication Web

<HTML>….<HelloWord></b></body></html>

Réponse

Conteneur de Servlets

API Java “javax.servlet” et “javax.servlet.http”

Page 12: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

JSP Exécution - Fonctionnement

Envoie de la réponse

Compile la servlet JSP

Charge la servlet

Serveur HTTP

Servlet de page JSP

Servelet du compilateur de page

Génère la réponse

Analyse les JSP

Génère le source de la servelet

Servelet JSP courante?

Servelet JSP chargée?

Réception de la requête

Oui

Oui

Non

Non

Conteneur de JSP

Page 13: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

Page 14: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

ServeurHTTP

JVM

ConteneurJSP Prog.jsp

Nom=Jourdan&Prenom=Cedric

2

Page 15: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

ServeurHTTP

JVM

ConteneurJSP

Prog.jspRéponse HTML

3

Serveur Web

Client(Navigateur)

4

Réponse HTML

Page 16: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

Page 17: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

- Par défaut la mémoire tampon est de 8Ko

- Un tampon par Servelet

Caractéristiques du cache

Page 18: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

PHP – (Personal Home Page)

Langage script interprété du cote serveur

Intégrable au sein d’une page HTML

Simplicité d’écriture des scripts

Page 19: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

PHP - Exécution

Serveur HTTP

Envoie de la requête

Génération de la réponse

Processus PHPActivation du processus

PHP

Réception de la requête PHP

Réception des sorties PHP

Page 20: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

JSP ou PHP?

JSP PHPUtilise le langage Java qui est

totalement objet Langage procédurale avec la possibilité

de faire de l’objet

Grand nombre d’API Moins de possibilités de développement

Peut ce connecter à tout type de bases de données (avec JDBC)

Peut ce connecter à tout type de bases de données (avec ODBC)

Fonctionne “in process” et “out process”

Ajout d’un module pour supporter le “out process”

Les temps de réponses sont équivalents

Plus gourmand en ressources à cause de la JVM

Langage interprète à chaque appel

Processus léger, utilise les Threads Nouveaux processus pour l’exécution des scripts

Programmes portables Problèmes de portabilités

Page 21: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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

Page 22: Exposé Système Informatique et Réseau Présentation de JSP et comparaison à PHP Exposé de Système - Informatique et Réseau Cédric Jourdan – IR5

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