Cours Java (cours éparts pour l'instant)
Java EE : Servlets : présentation des servlets dans le cadre du développement Java EE.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
1. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Servlets
Java EE
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
2. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Plan
• Qu'est qu'une servlet
• HttpServlet
• Requête
• Réponse
• Exemple
3. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Qu'est qu'une servlet
• classe java dérivée de javax.servlet.http.HttpServlet
• permet la création dynamique de données
au sain d'un serveur HTTP
le plus souvent au format HTML
• exécution coté serveur
4. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
HttpServlet
• classe mère de toutes les servlets
• Méthodes
void doGet(HttpServletRequest request, HttpServletResponse response)
• point d'entrée relatif à une requête HTTP GET
- <form ... method="GET">
- ou via l'url
void doPost(HttpServletRequest request, HttpServletResponse response)
• point d'entrée relatif à une requête HTTP POST
- balise <form ... method="POST">
5. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Requête
• interface javax.servlet.http.HttpServletRequest
• Méthode
String getParameter(String arg0)
• permet de récupérer la valeur d'un paramêtre
•
6. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Réponse
• interface javax.servlet.http.HttpServletResponse
• Méthodes
setContentType
• spécifie le type MIME de la réponse
java.io.OutputStream getOutputStream
• génère un OutputStream permettant l'envoi de données binaires
• ex : image JPEG
java.io.PrintWriter getWriter
• génère un PrintWrier, permettant l'envoi du texte de réponse
• ex : HTML
7. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Exemple
public class ServletHelloWorld extends HttpServlet
{
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
String texte = request.getParameter("test");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write("<html><head><title>Bienvenue</title></head>"
+ "<body><h1>Bienvenue</h1>" + "<p>Bonjour "
+ texte + "</p></body></html>");
}
}
public class ServletHelloWorld extends HttpServlet
{
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
String texte = request.getParameter("test");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write("<html><head><title>Bienvenue</title></head>"
+ "<body><h1>Bienvenue</h1>" + "<p>Bonjour "
+ texte + "</p></body></html>");
}
}
9. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Ce qu’on a couvert
• Génération dynamique de contenu web grâce aux servlets
classes
méthodes
réponse et requète
FIN
10. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.