JSP - Architecture

Le serveur Web a besoin d'un moteur JSP, c'est-à-dire d'un conteneur pour traiter les pages JSP. Le conteneur JSP est responsable de l'interception des demandes de pages JSP. Ce tutoriel utilise Apache qui a un conteneur JSP intégré pour prendre en charge le développement de pages JSP.

Un conteneur JSP fonctionne avec le serveur Web pour fournir l'environnement d'exécution et d'autres services dont une JSP a besoin. Il sait comprendre les éléments spéciaux qui font partie des JSP.

Le diagramme suivant montre la position du conteneur JSP et des fichiers JSP dans une application Web.

Traitement JSP

Les étapes suivantes expliquent comment le serveur Web crée la page Web à l'aide de JSP -

  • Comme pour une page normale, votre navigateur envoie une requête HTTP au serveur Web.

  • Le serveur Web reconnaît que la requête HTTP concerne une page JSP et la transmet à un moteur JSP. Cela se fait en utilisant l'URL ou la page JSP qui se termine par.jsp au lieu de .html.

  • Le moteur JSP charge la page JSP à partir du disque et la convertit en contenu de servlet. Cette conversion est très simple dans laquelle tout le texte du modèle est converti en instructions println () et tous les éléments JSP sont convertis en code Java. Ce code implémente le comportement dynamique correspondant de la page.

  • Le moteur JSP compile le servlet dans une classe exécutable et transmet la demande d'origine à un moteur de servlet.

  • Une partie du serveur Web appelée moteur de servlet charge la classe Servlet et l'exécute. Lors de l'exécution, le servlet produit une sortie au format HTML. La sortie est ensuite transmise au serveur Web par le moteur de servlet dans une réponse HTTP.

  • Le serveur Web transmet la réponse HTTP à votre navigateur en termes de contenu HTML statique.

  • Enfin, le navigateur Web gère la page HTML générée dynamiquement dans la réponse HTTP exactement comme s'il s'agissait d'une page statique.

Toutes les étapes mentionnées ci-dessus peuvent être vues dans le diagramme suivant -

En règle générale, le moteur JSP vérifie si un servlet pour un fichier JSP existe déjà et si la date de modification sur la JSP est antérieure à celle du servlet. Si le JSP est plus ancien que son servlet généré, le conteneur JSP suppose que le JSP n'a pas changé et que le servlet généré correspond toujours au contenu de la JSP. Cela rend le processus plus efficace qu'avec les autres langages de script (comme PHP) et donc plus rapide.

Donc, d'une certaine manière, une page JSP n'est en réalité qu'une autre façon d'écrire un servlet sans avoir à être un assistant de programmation Java. À l'exception de la phase de traduction, une page JSP est gérée exactement comme une servlet classique.