Créé le 28 avril 2004
Modifié le
Pages actives côté serveur > JSP

Les JSP (Java Server Pages)

Présentation des JSP

Java Server Page est une technologie développée par Sun permettant d'inclure dans des templates HTML des programmes Java exécutés lors de l'appel du template et dont les résultats sont formatés et intégrés au code HTML en retour. La technologie JSP s'apparente très fort à celle des ASP, mais aussi au PHP, avec lesquels elle partage le point commun de se baser sur les templates HTML.

En utilisant les JSP, il est possible de développer un site Web dynamique, s'appuyant sur des applications tierces sur le serveur, en séparant la mise en forme du contenu. Cette séparation est due au fait que les pages sont générées activement sur le serveur avant d'être envoyées, finalisées, vers le navigateur client. L'interaction avec des applications tierces, bases de données notamment, permet de gérer un volume de données très important et d'adapter les résultats en fonction des visiteurs.

Les JSP sont donc une technique d'intégration de code Java, appelé scriptlet, ou d'appels de code Java à des pages HTML. L'avantage de développer un site à l'aide des JSP est qu'il n'est plus nécessaire de retoucher le code HTML pour formater les éléments de mise en page en fonction des données: la page est générée activement depuis le serveur.

Fonctionnement des JSP

Une page JSP contient donc du code HTML et des balises spéciales contenant des portions de code Java (appelées scriptlets Java) ou des appels de fonctions définies en langage Java. Ces scriptlets sont placées entre des balises spéciales du type <% code %> similaires à celles des ASP.

Que contiennent ces scriptlets? Puisqu'il s'agit de code Java, ils contiennent en fait les éléments propres à tout programme Java. Dans le cas précis d'un scriptlet, on a donc des variables qui doivent être exécutées sur le serveur. Ces variables, une fois exécutées, sont remplacées par les données correspondantes, le plus souvent issues d'applications tierces telles des bases de données.

Pour bien comprendre les JSP, il faut savoir que ce n'est pas un langage, mais plutôt un environnement de développement. Cela signifie qu'une Java Server Page repose sur d'autres technologies, également développées par la société Sun. En effet, lors de sa première utilisation, une JSP est compilée en servlet. Les JSP sont donc une surcouche de servlets. La différence réside dans le fait qu'une servlet est compilée alors que les JSP sont interprétées. Avant l'envoi final de la page Web sur le navigateur client, la servlet est interprétée et mise en forme.

Au niveau des éléments de présentation, les JSP propose aussi une solution pour clairement séparer le contenu de la mise en forme par l'intermédiaire des Java Beans ou EJB. Le principe des Java Beans consiste à grouper les codes et appels de code Java dans des composants indépendants qui sont invoqués depuis la page JSP. De la sorte, les balises de mise en forme définies en HTML ne sont pas mélangées avec les éléments de code Java.

Il faut encore souligner que les JSP permettent une très bonne intégration avec XML. On peut en effet facilement utiliser des balises personnalisées, très complémentaires des templates XML.

Avantages et inconvénients des JSP

Aujourd'hui, les JSP et les outils associés (Java Beans, servlets,librairie de balises ...) sont intégrés dans l'architecture J2EE qui est une spécification du langage Java et de l'architecture pour serveurs d'applications associée. Cette architecture et l'utilisation des JSP offre dès lors de nombreux avantages et un environnement de développement très performant. Au nombre des qualités des JSP, on peut souligner les suivantes:

  • Une très bonne intégration du code Java et du HTML, minimisant par conséquent les problèmes de mise en page. Ceci permet surtout de développer des pages Web dynamiques s'appuyant sur un grand volume de données (par exemple provenant d'un SGBD) et dont le contenu est adaptable au caractère évolutif de ces données et aux requêtes particulières des utilsateurs.
  • Les JSP reposent sur un langage de programmation orienté Web puissant, Java, et des technologies côté serveur comme les servlets ayant fait leurs preuves. Par ailleurs, l'environnement Java est réputé pour sa très bonne portabilité, au contraire des ASP de Microsoft.

Les JSP sont donc un concurrent direct des ASP et plus ouvert à d'autres environnements de développement que celui pour lequel ils ont été conçus initialement (Windows pour les ASP; Unix pour les JSP).

Quelques liens

http://java.sun.com/products/jsp/

http://www.commentcamarche.net/jsp/jspintro.php3

http://www.infini-fr.com/Sciences/Informatique/Langages/Imperatifs/Java/servletsJsp/jsp.html


Haut de page