Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Servlets - Première Servlet

Première servlet Encyclopédie


Premiere servlet

Voici un exemple simple de servlet dont le seul but est d'afficher du texte sur le navigateur du client :

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class PremiereServlet extends HttpServlet {
  
  public void init() {
  }
  public void doGet(HttpServletRequest req, HttpServletResponse res)
	throws ServletException, IOException {
	
	res.setContentType("text/html");
	PrintWriter out = res.getWriter();
	out.println("<HTML>");
	out.println("<HEAD><TITLE> Titre </TITLE></HEAD>");
	out.println("<BODY>");
	out.println("Ma première servlet");
	out.println("</BODY>");
	out.println("</HTML>");
	out.close();
  }
}
La première étape consiste à importer les packages nécessaires à la création de la servlet, il faut donc importer javax.servlet, javax.servlet.http et javax.io
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*
Afin de mettre en place l'interface Servlet nécessaire au conteneur de servlet, il existe plusieurs possibilités :
  • Définir manuellement chaque méthode
  • Dériver la classe GenericServlet et redéfinir les méthodes dont on a besoin
  • Dériver la classe HttpServlet et redéfinir les méthodes dont on a besoin
Dans la servlet ci-dessus, la classe HttpServlet a été étendue
public class PremiereServlet extends HttpServlet {
}
Lorsque la servlet est instanciée, il peut être intéressant d'effectuer des opérations qui seront utiles tout au long du cycle de vie de la servlet (se connecter à une base de données, ouvrir un fichier, ...). Pour ce faire, il s'agit de surcharger la méthode init() de la servlet.
public void init() {}
A chaque requête, la méthode service() est invoquée. Celle-ci détermine le type de requête dont il s'agit, puis transmet la requête et la réponse à la méthode adéquate (doGet() ou doPost). dans notre cas, on ne s'intéresse qu'à la méthode GET, c'est la raison pour laquelle la méthode doGet() a été surchargée
public void doGet(HttpServletRequest req, HttpServletResponse res)
	throws ServletException, IOException {
}
L'objet HttpServletRequest permet de connaître les éventuels paramètres passés à la servlet (dans le cas d'un formulaire HTML par exemple), mais l'exemple ci-dessus n'en a pas l'utilité.
Par contre l'objet HttpServletResponse permet de renvoyer une page à l'utilisateur. La première étape consiste à définir le type de données qui vont être envoyées au client. Généralement il s'agit d'une page HTML, la méthode setContentType() de l'objet HttpServletResponse doit donc prendre comme paramètre le type MIME associé au format HTML (text/html) :
res.setContentType("text/html");

Ensuite la création d'un objet PrintWriter grâce à la méthode getWriter() de l'objet HttpServletResponse permet d'envoyer du texte formatté au navigateur (pour envoyer un flot de données, il faudrait utiliser la méthode getOutputStream())

PrintWriter out = res.getWriter();
Enfin il faut utiliser la méthode println() de l'objet PrintWriter afin d'envoyer les données textuelles au navigateur, puis fermer l'objet PrintWriter lorsqu'il n'est plus utile avec sa méthode close()
	out.println("<HTML>");
	out.println("<HEAD><TITLE> Titre </TITLE></HEAD>");
	out.println("<BODY>");
	out.println("Ma première servlet");
	out.println("</BODY>");
	out.println("</HTML>");
	out.close();

Discussions pertinentes trouvées dans le forum

27/02 21h51 windows windows servlet32.ex Windows ne trouve pas C:\WINDOWS\servlet32.ex Virus/Sécurité 28/02 12h11->BmV14
15/05 16h45 java servlet redirection post [JAVA] Servlet et redirection vers POST Développement 16/05 17h32->maily3
07/12 16h59 tomcat eclipse servlet exception wrapper [tomcat-eclipse] Servlet exception - wrapper Développement 08/12 14h57->kij_822
01/02 00h08 crrscr32.exe servlet32.exe connaissez crrscr32.exe - servlet32.exe vous connaissez? Virus/Sécurité 04/02 00h28->scoubidou9441
05/01 13h23 interface servlet Interface et servlet Développement 12/01 10h24->puce3117
24/06 18h42 java servlet Java + servlet Développement 26/06 10h02->kaiz15
24/01 08h51 pdb servlet pdb de Servlet Développement 24/01 13h49->Lulu13
25/01 09h53 servlet formulaire html servlet+formulaire html Webmastering 25/01 14h26->maynouch11
15/05 10h50 servlet servlet?? Développement 27/05 14h25->omar8
30/11 10h06 servlet inputstream Servlet et InputStream Développement 30/11 16h53->GlopGlop7
Discussion fermée Problème résolu Servlets Plus de discussions sur « Servlets »

Ce document intitulé « Servlets - Première Servlet » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.