Introduction aux Java Server Pages

Décembre 2016

Présentation des Java Server Pages

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.

JSP et l\

Le fonctionnement des Java Server Pages

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.

Caractéristiques des Java Server Pages

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,
  • ...

A voir également :

Ce document intitulé «  Introduction aux Java Server Pages  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.