Exemple 3-1: Hello World avec un Java Servlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet extends HttpServlet {
// Handle the Get Method
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out ;
// Content type and other HTTP response header fields
response.setContentType("text/html");
// get a print writer, to write out the data of the response
out = response.getWriter();
// Write ...
String header = "<HTML><HEAD><TITLE>Hello Client!</TITLE></HEAD>";
out.println(header + "<body>");
out.println("<h1>Hello Client!</h1> How is life at Tecfa ?");
out.println("</BODY></HTML>");
out.close();
}
public String getServletInfo() {
return "HelloClientServlet by DKS";
}
}
Packages à importer:
Java: import java.io.*;
Duservlet kit: import javax.servlet.*;
import javax.servlet.http.*;
Création d'une classe de type HttpServlet (un peu comme un applet)
public class HelloServlet extends HttpServlet { ... }
Implémentation de la méthode doGet
protected void doGet
(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException { .... }
Le servlet passe deux variables à cette méthode:
-
un objet qui encapsule la communication du
client vers le serveur
-
classe: HttpServletRequest)
-
un objet qui encapsule la communication du
servlet vers le client
:
-
classe: HttpServletResponse
Méthodes utilisées des objets request et response:
-
Lecture des données de la requête
-
pas nécessaire dans cet exemple .......
-
Gestion de la réponse (avec l'objet response)
-
définir les headers de la réponse (au moins content type et encoding)
response.setContentType("text/html");
-
accéder au output ou writer stream
out = response.getWriter();
out.println( ....)
-
fermer l'output stream à la fin (IMPORTANT, sinon votre servlet coincera)
out.close()