Article de reference

Pages du serveur Jakarta

Jakarta Server Pages ( JSP ; anciennement JavaServer Pages ) est un ensemble de technologies permettant aux développeurs de créer des pages web générées dynamiquement à partir d...

aux développeurs de créer des pages web générées dynamiquement à partir de HTML , XML , SOAP ou d'autres types de documents. Lancée en 1999 par Sun Microsystems , JSP est similaire à PHP et ASP , mais utilise le langage de programmation Java .

Pour déployer et exécuter Jakarta Server Pages, un serveur web compatible avec un conteneur de servlets , tel qu'Apache Tomcat ou Jetty , est requis.

L'architecture JSP modèle 2

Du point de vue architectural, JSP peut être considéré comme une abstraction de haut niveau des servlets Jakarta . Les JSP sont traduits en servlets lors de l'exécution ; par conséquent, une JSP est une servlet ; chaque servlet JSP est mise en cache et réutilisée jusqu'à ce que la JSP d'origine soit modifiée.

Les pages JSP (Jakarta Server Pages) peuvent être utilisées indépendamment ou comme composant de vue d'une architecture MVC (Modèle-Vue-Contrôleur) côté serveur, généralement avec JavaBeans comme modèle et des servlets Java (ou un framework comme Apache Struts ) comme contrôleur. Il s'agit d'une architecture de type Modèle 2.

JSP permet d'intégrer du code Java et certaines actions prédéfinies à du contenu statique de balisage web, tel que du HTML. La page résultante est compilée et exécutée sur le serveur pour fournir un document. Les pages compilées, ainsi que les bibliothèques Java dépendantes, contiennent du bytecode Java et non du code machine . Comme tout autre programme .jar ou Java, le code doit être exécuté au sein d'une machine virtuelle Java (JVM) qui interagit avec le système d'exploitation hôte du serveur afin de fournir un environnement abstrait et indépendant de la plateforme.

Les JSP sont généralement utilisées pour fournir des documents HTML et XML, mais grâce à l'utilisation d'OutputStream, elles peuvent également fournir d'autres types de données.

Le conteneur Web crée des objets JSP implicites tels que request, response, session, application, config, page, pageContext, out et exception. Le moteur JSP crée ces objets lors de la phase de traduction.

Syntaxe

Déclaration des directives, scriptlets et expressions

Les JSP utilisent plusieurs délimiteurs pour les fonctions de script . Le plus basique est ` <script> `, qui encadre un scriptlet JSP . Un scriptlet est un fragment de code Java qui s'exécute lorsque l'utilisateur demande la page. <% ...%>

D'autres délimiteurs courants incluent pour les expressions, où le scriptlet et les délimiteurs sont remplacés par le résultat de l'évaluation de l'expression, et les directives , notées avec . <%= ...%><%@ ...%>

Le code Java n'est pas tenu d'être complet ou autonome au sein d'un seul bloc scriptlet. Il peut chevaucher le contenu balisage, à condition que la page dans son ensemble soit syntaxiquement correcte. Par exemple, tout bloc if/for/while Java ouvert dans un scriptlet doit être correctement fermé dans un scriptlet ultérieur pour que la page soit compilée avec succès. Cela permet un entrelacement de code et peut engendrer de mauvaises pratiques de programmation.

Le contenu inclus dans un bloc de code Java fractionné (s'étendant sur plusieurs scriptlets) est soumis à ce code. Le contenu d'un bloc `if` n'apparaîtra dans le résultat que si la condition `if` est vraie. De même, le contenu d'une boucle peut apparaître plusieurs fois dans le résultat, selon le nombre d'itérations de la boucle.

Exemple

Voici une boucle for valide dans une page JSP :

langage d'expression unifié (Unified Expression Language ), également utilisé dans JavaServer Faces .

Le langage d'expression JSP (EL) utilise une syntaxe compacte permettant au développeur d'obtenir les attributs et les propriétés JavaBean d'un objet de requête donné. Lors de l'utilisation d'EL, un signe dollar (« $ ») doit être ajouté au début du code. Ce symbole est suivi d'une accolade ouvrante (« { ») et d'une accolade fermante (« } »). Le code est ensuite écrit entre ces accolades.

Exemple

Voici un exemple de syntaxe EL :

La valeur de variabledans l'objet javabeanest ${javabean.variable}.

Étiquettes supplémentaires

La syntaxe JSP ajoute des balises supplémentaires, appelées actions JSP, pour invoquer des fonctionnalités intégrées. De plus, cette technologie permet la création de bibliothèques de balises JSP personnalisées qui servent d'extensions à la syntaxe JSP standard. La JSTL est l'une de ces bibliothèques .

Bibliothèque de balises standard Jakarta

d'espaces de noms XML , au lieu de la balise habituelle `<script>`.<% ...%><%@ page ..%><jsp:directive.page .. /><%@ taglib ..%>

Compilateur

Un compilateur JavaServer Pages est un programme qui analyse les JSP et les transforme en servlets Java exécutables . Ce type de programme est généralement intégré au serveur d'applications et s'exécute automatiquement lors du premier accès à une JSP. Toutefois, les pages peuvent également être précompilées pour de meilleures performances, ou compilées dans le cadre du processus de compilation afin de détecter les erreurs.

Certains conteneurs JSP permettent de configurer la fréquence à laquelle le conteneur vérifie l'horodatage des fichiers JSP afin de déterminer si la page a été modifiée. Généralement, cet horodatage est défini sur un intervalle court (quelques secondes) pendant le développement logiciel et sur un intervalle plus long (quelques minutes, voire jamais) pour une application Web déployée .

Critique

Selon Joel Murach et Michael Urban, auteurs de l'ouvrage « Murach's Java Servlets and JSP », l'intégration de code Java dans une JSP est généralement une mauvaise pratique. Une meilleure approche consiste à migrer la logique back-end intégrée à la JSP vers le code Java du composant JSP séparation claire des responsabilités .

En 2000, Jason Hunter, auteur de « Java Servlet Programming », a décrit plusieurs problèmes liés aux JavaServer Pages (JSP). Il a toutefois écrit que, même si les JSP ne constituent pas la meilleure solution pour la plateforme Java, elles restent la solution Java la plus proche des solutions non-Java, en référence aux Active Server Pages de Microsoft . Plus tard, il a ajouté une note sur son site indiquant que les JSP s'étaient améliorées depuis 2000, tout en citant ses concurrents, Apache Velocity et Tea (langage de modèles). Aujourd'hui, plusieurs alternatives et un certain nombre de pages orientées JSP dans les applications web de grande envergure sont considérées comme une dette technique.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index