Servlets
• Une servlet est une application Java qui permet de créer dynamiquement des données au sein d’un serveur HTTP.
Ces données sont le plus généralement présentées au format HTML, mais elles peuvent également l’être au format XML ou tout autre format destiné aux navigateurs web.
• Une servlet s’exécute dynamiquement sur le serveur web et permet l’extension des fonctions de ce dernier.
Typiquement : accès à des bases de données, transactions d’e-commerce, etc. Une servlet peut être chargée automatiquement lors du démarrage du serveur web ou lors de la première requête du client. Une fois chargées, les servlets restent actives dans l’attente d’autres requêtes du client.
Cycle de vie d’un servlet
1. Chargement de la classe
2. Instanciation du servlet
• constructeur par défaut
3. Appel de init()
4. Appel(s) de service()
• 1 thread par requête
5. Appel de destroy()
La méthode service()
• Lors de la réception d’une requête,le conteneur crée:
– un objet ServletRequest (la requête), et
– un objet ServletResponse (la réponse)
• Le conteneur appelle ensuite la méthode service() avec ces deux objets en paramètres pour permettre au servlet de répondre à la requête du client.
Requêtes et Réponses HTTP
«interface» ServletRequest
Object getAttribute(String)
int getContentLength()
ServletInputStream getInputStream()
int getLocalPort()
String getParameter(String)
Enumeration getParameterNames()
String[] getParameterValues(String)
// Other methods not listed here…
«interface» ServletResponse
int getBufferSize()
String getContentType()
ServletOutputStream getOutputStream()
PrintWriter getWriter()
void setContentType(String)
// Other methods not listed here…
Un servlet en 8 étapes (1/8)
Lors de la création d’un projet JEE, on a deux grandes phases :
• La phase de développement qui s’effectue la plupart du temps en local, dans un dossier permettant de compiler et tester les sources Java, les fichiers HTML, les CSS, …
• La phase de déploiement qui exporte le site local sur un serveur JEE afin de le tester.
– Ainsi, lors de la création d’une servlet, on commencera par créer un dossier de projet, avec un dossier src contenant les sources des servlets que l’on compilera dans un dossier build/classes (comme nous faisions dans les cours de Java ING1).
– C’est dans un second temps, que nous déploierons notre projet sur le serveur T omcat.
– L’utilisation d’un outil de contruction de projets Java, tels que Ant ou Maven, est classique durant ces phases.
Cours J2EE complet les requêtes et réponses HTTP (1289 KO) (Cours PDF)