Les JSP (Java Server Pages) sont un standard permettant de développer des applications Web
interactives, c'est-à-dire dont le contenu est dynamique. C'est-à-dire qu'une page web JSP (repérable par l'extension .jsp)
aura un contenu pouvant être différent selon certains paramètres (des informations stockées dans une base de données,
les préférences de l'utilisateur,...) tandis que page web "classique" (dont l'extension est .htm ou .html)
affichera continuellement la même information.
Il s'agit en réalité d'un langage de script puissant (un langage interprété)
exécuté du côté du serveur
(au même titre que les scripts CGI,PHP,ASP,...)
et non du côté client (les scripts écrits en JavaScript ou les
applets Java s'exécutent dans le navigateur de la personne connectée
à un site).
Les JSP sont intégrables au sein d'une page Web en HTML à l'aide de balises
spéciales permettant au serveur Web de savoir que le code compris à l'intérieur de ces balises doit être interprété
afin de renvoyer du code HTML au navigateur du client.
Ainsi, les Java Server Pages s'inscrivent dans une architecture 3-tier, ce
terme compliqué signifie qu'un serveur supportant les Java Server Pages peut servir d'intermédiaire (on parle généralement de serveur applicatif)
entre le navigateur du client et une base de données (on parle généralement de serveur de données) en permettant un accès transparent à celle-ci.
JSP fournit ainsi les éléments nécessaires à la
connexion au système de gestion de bases de données, à la manipulation des données grâce
au langage SQL.
Une page utilisant les Java Server Pages est exécutée au moment de la
requête par un moteur de JSP, fonctionnant généralement avec un serveur
Web ou un serveur applicatif. Le modèle des JSP étant dérivé
de celui des servlets (en effet les JSP sont un moyen d'écrire des servlets), celle-ci
est donc une classe Java dérivant de la classe
HttpServlet, et utilisant les méthodes doGet() et doPost() permettant
de renvoyer une réponse par le protocole HTTP.
Lorsqu'un utilisateur appelle une page JSP, le serveur Web appelle le moteur de JSP qui
crée un code source Java à partir du script JSP, compile la classe afin de fournir
un fichier compilé (d'extension .class), c'est-à-dire qu'il constitue en fait
une servlet à partir du script JSP...
En réalité ce processus est un peu plus perfectionné:
le moteur de JSP vérifie si la date du fichier .jsp correspond à celle
du fichier .class. Le moteur de JSP ne transforme et compile la classe
que dans le cas où le script JSP a été mis à jour. Ainsi, le fait que la compilation
ne se fasse que lors de la mise à jour du script JSP, fait de cette technologies une des plus
rapides pour créer des pages dynamiques.
En effet, la plupart des technologies de pages actives (ASP, PHP, ...)
reposent sur un code interprété, ce qui requiert beaucoup de ressources pour fournir la réponse HTTP.
Etant donné que les JSP sont compilées (en fait il s'agit d'un bytecode) elles sont beaucoup plus rapides à
l'exécution.
Actuellement seuls les scripts FastCGI (utilisant
du code compilé écrit en langage C) sont plus rapides car ils ne nécessitent pas l'intervention
d'une machine virtuelle pour exécuter l'application.
Les JSP permettent donc d'écrire facilement des servlets, en incluant dans des balises
spécifiques le code JSP au sein du fichier HTML. De cette façon, elles fournissent
une technologie rapide afin de créer des pages dynamiques.
De plus, les JSP étant basées sur Java côté serveur, elles possèdent
toutes les caractéristiques faisant la force de Java :
- les JSP sont multithreadées,
- les JSP sont portables,
- les JSP sont orientées objet,
- les JSP sont sûres,
- ...
|