Servlet Http

Une servlet peut faire beaucoup de choses. Ce qui nous intéresse se sont des servlets capables de fournir un contenu web dynamique de discuter sur le protocole http pour écrire une servlet http.

Pour écrire une servlet http, il  suffit tout simplement d’écrire une classe qui hérite HttpServlet. Voici un exemple:

public class PremierServlet extends HttpServlet{}

HttpServlet c’est une classe abstraite, c.-à-d. on peut pas l’utiliser directement. Une classe qui hérite de la classe HttpServlet doit impérativement redéfinie au moins une de ses méthode:

  • doGet, permet au client de demander une ressource
  • doPost, c’est une requête qui permet au client d’envoyer des informations
  • doHead() : pour les requêtes http de type HEAD
  • doPut() : pour les requêtes http de type PUT
  • doDelete() : pour les requêtes http de type DELETE
  • doOptions() : pour les requêtes http de type OPTIONS
  • doTrace() : pour les requêtes http de type TRACE

servlet Http doGet

On va commencer par la méthode doGet qui permet de traiter des requête http GET. Cette méthode prend deux paramètres sous forme d’objet. Un objet de type HttpServletRequest et un objet de type HttpServletResponse. Le premier représente la requête qui sera émise par le client et reçu par la servlet. Le deuxième représente le résultat que la servlet va retourner.

Exemple

public class PremierServlet extends HttpServlet{ 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
    }  
}

Exécuter une Servlet

L’exécution d’une servlet est diffèrent que celui d’une classe standard en Java. Son exécution ne depend pas de la méthode main. Nous allons nous passer par l’une des méthode fournie par la servlet doGet par exemple.

Il est inutile de chercher à exécuter une servlet en utilisant l’exécutable Java .exe, cela ne fonctionnerai pas. Seule un moteur de servlet capable de gérer l’exécution d’une servlet comme Tomcat par exemple.

On va maintenant essayer d’afficher dans un navigateur, le résultat de la méthode doGet d’une servlet. Pour cela on va utiliser une annotation Java @WebServlet qui va nous permet d’attribuer un chemin d’accès dans l’une des méthode d’une servlet.

Exemple

@WebServlet(name = "PremierServlet", urlPatterns = "/premier") 
public class PremierServlet extends HttpServlet{ 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
        PrintWriter out = resp.getWriter(); 
        out.println("<html><body>Hello Everyone</body></html>"); 
    }  
}

Une annotation c’est comme un commentaire, la différance c’est  que ce commentaire va être interprété pour effectuer des opérations.

Laisser un commentaire