1.1.1.3 Les servlets
Une servlet est un programme qui s'exécute
côté serveur et permet l'extension des fonctions de ce dernier.
Elle reçoit une requête du client, effectue des traitements et
renvoie le résultat. La liaison entre la servlet et le client peut
être directe ou passer par un intermédiaire comme par exemple un
serveur http. Même si pour le moment, la principale utilisation des
servlets est la génération de pages XHTML (eXtensible
HTML) dynamiques utilisant le protocole http, n'importe quel protocole
reposant sur le principe de requête/réponse peut en faire usage
[9].
Ecrite en java, une servlet en retire ses avantages : la
portabilité, l'accès à toutes les API de java dont JDBC
pour l'accès aux bases de données, etc. Une servlet peut
être invoquée plusieurs fois en même temps pour
répondre à plusieurs requêtes simultanées. Une fois
instanciée, elle reste en mémoire. Ce qui permet de garder des
ressources système et gagner le temps d'initialisation. Les servlets
sont indépendantes par rapport au serveur Web et peuvent être
démarrées automatiquement lors du lancement du serveur.
Dans une architecture client/serveur trois tiers, la servlet
se positionne dans le tiers du milieu entre le client léger
chargé de l'affichage et la source de données. Les servlets sont
limitées en matière d'interface graphique car elles
s'exécutent côté serveur et une petite modification dans le
code XHTML nécessite la recompilation de la servlet.
Pour développer et exécuter une servlet il faut
le Java Servlet Development Kit (JSDK) qui est un package contenant l'ensemble
des classes et des interfaces nécessaires. Le JSDK est incorporé
dans des conteneurs Web ou serveurs d'application dont Apache Tomcat, Jetty,
JBoss ou encore GlassFish. Le choix d'un serveur d'application doit tenir
compte de la version du JSDK qu'il supporte pour être compatible avec
celui utilisé pour le développement des servlets.
1.1.1.4 Java Server Pages
Les JSP (Java Server Pages) sont une technologie Java
qui permettent la génération de pages Web dynamiques. La
technologie JSP permet de séparer la présentation sous forme de
code XHTML et les traitements sous forme de classes Java. Les JSP permettent
d'introduire du code Java dans des balises prédéfinies à
l'intérieur d'une page XHTML. Ils mélangent la puissance de
Java côté serveur et la facilité de mise en
page de XHTML côté client. Une JSP est habituellement
constituée :
- de données et de balises XHTML;
- de balises JSP;
- de scriptlets (code Java intégré à la
JSP).
Les JSP possèdent plusieurs avantages dont :
- l'utilisation de Java qui permet une indépendance de la
plate-forme d'exécution mais aussi du serveur Web utilisé;
- la séparation des traitements de la
présentation : la page Web peut être écrite par un designer
et les balises JSP peuvent être ajoutées ensuite par le
développeur. Les traitements peuvent être réalisés
par des composants réutilisables (des Java beans, servlets);
- les JSP sont basées sur les servlets : tout ce qui est
fait par une servlet pour la génération de pages dynamiques peut
être fait avec une JSP.
Concrètement, au premier appel de la page JSP, le
moteur de JSP génère et compile automatiquement une servlet qui
permet la génération de la page Web. Le code XHTML est repris
intégralement dans la servlet.
Dans le fonctionnement d'une application Web basée sur
la technologie JSP, lorsqu'une requête demandant une page JSP est
envoyée par un client http, le serveur Web http transmet la
requête au moteur de JSP qui va l'interpréter puis compiler le
code et générer la réponse sous forme d'une page XHTML
statique. Donc pour exécuter une page JSP, il faut, en plus d'un serveur
http comme Apache, un moteur de JSP comme Tomcat, Jetty ou GlassFish. Sur le
serveur d'application il faut installer un Java Development Kit (JDK)
qui contient une Machine Virtuelle Java (MVJ).
|