Novembre 1998, partage d'informations grace au Servletcontext
La classe GenericServlet implémente l'interface ServletConfig
une méthode log() standard pour envoyer des informations dans le journal du conteneur
objet RequestDispatcher pour le transfert du traitement de la requête vers une autre ressource ou inclure le
résultat d'une autre ressource
2.2
Aout 1999, format war pour un déploiement standard des applications web
mise en buffer de la réponse
inclus dans J2EE 1.2
2.3
Septembre 2001, JSR 053 : nécessite le JDK 1.2 minimum
ajout d'un mécanisme de filtre
ajout de méthodes pour la gestion d'évenements liés à la création et la destruction du context et de la session
inclus dans J2EE 1.3
2.4 Novembre 2003, JSR 154
inclus dans J2EE 1.4
49.1.1. Le fonctionnement d'une servlet (cas d'utilisation de http)
Un serveur d'application permet de charger et d'exécuter les servlets dans une JVM. C'est une extension du serveur web.
Ce serveur d'application contient entre autre un moteur de servlets qui se charge de manager les servlets qu'il contient.
Pour exécuter une servlet, il suffit de saisir une URL qui désigne la servlet dans un navigateur.
Le serveur reçoit la requête http qui necessite une servlet de la part du navigateur1.
Si c'est la premiere sollicitation de la servlet, le serveur l'instancie. Les servlets sont stockées (sous forme de
fichier .class) dans un répertoire particulier du serveur. Ce répertoire dépend du serveur d'application utilisé. La
servlet reste en mémoire jusqu'à l'arret du serveur. Certains serveurs d'application permettent aussi d'instancier
des servlets dès le lancement du serveur.
La servlet en mémoire, peut être appelée par plusieurs threads lancés par le serveur pour chaque requête. Ce
principe de fonctionnement évite d'instancier un objet de type servlet à chaque requête et permet de maintenir un
ensemble de ressources actives tel qu'une connection à une base de données.
2.
le serveur créé un objet qui représente la requête http et objet qui contiendra la réponse et les envoie à la servlet3.
la servlet créé dynamiquement la reponse sous forme de page html transmise via un flux dans l'objet contenant
la réponse. La création de cette réponse utilise bien sûre la requête du client mais aussi un ensemble de
ressources incluses sur le serveur tels de que des fichiers ou des bases de données.
4.
le serveur récupère l'objet réponse et envoie la page html au client.5.
49.1.2. Les outils nécessaires pour développer des servlets
Initialement, pour développer des servlets avec le JDK standard édition, il faut utiliser le Java Server Development Kit
(JSDK) qui est une extension du JDK. Pour réaliser les tests, le JSDK fournit, dans sa version 2.0 un outil nommé
servletrunner et depuis sa version 2.1, il fournit un serveur http allégé.
Actuellement, pour exécuter des applications web, il faut utiliser un conteneur web ou serveur d'application : il existe de
nombreuses versions commerciales tel que IBM Webpshere ou BEA WebLogic mais aussi des versions libres tel que
Tomcat du projet GNU Jakarta.
Ce serveur d'application ou ce conteneur web doit utiliser ou inclure un serveur http dont le plus utilisé est Apache.
Le choix d'un serveur d'application ou d'un conteneur web doit tenir compte de la version du JSDK qu'il supporte pour
être compatible avec celle utilisée pour le développement des servlets. Le choix entre un serveur commercial et un libre
doit tenir compte principalement du support technique, des produits annexes fournis et des outils d'installation et de
configuration.
Pour simplement développer des servlets, le choix d'un serveur libre se justifie pleinenement de part leur gratuité et leur
« légèreté ».
Développons en Java 781