![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
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:
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é.
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();