Java servlet

De The Linux Craftsman
Aller à : navigation, rechercher

Installation du JDK

Assurez-vous d'avoir installé le JDK, chose qui devrait déjà être faite pour développer avec Eclipse.

Création du projet

Pour créer le projet, ouvrez le menu contextuel de l'onglet Package Explorer Package explorer.png et sélectionnez New other project.png et dans la liste qui s'affiche choisissez New dynamic web project.png.

L'assistant démarre et vous demande de renseigner un nom pour ce nouveau projet

New java dynamic project.png

Ajout d'un environnement d'exécution

Pour faire en sorte que votre Servlet affiche quelque chose, il va falloir l'exécuter dans un conteneur de Servlet. Le plus connu et celui que nous allons utiliser s'appelle Tomcat

Cliquez sur le bouton entouré en rouge (cf. image précédente).

L'assistant démarre et cela commence par le choix du serveur (la dernière version).

New runtime env.png

Ensuite, il faut installer le serveur et pour cela il faut choisir un répertoire de destination et cliquer sur Download and Install...

New tomcat server.png
New tomcat server download.png

Création de la première Servlet

Après la création de votre package, vous affichez le menu contextuel du Package explorer et sélectionnez New servlet.png certainement disponible dans le menu New other project.png.

L'assistant de création démarre en demandant le nom de la nouvelle Servlet:

Servlet name.png

Ensuite, il vous propose de modifier le mapping, c'est à dire aux travers de quelles URLs vous pouvez accéder à la Servlet

Servlet mapping.png

Enfin, vous pouvez choisir quelles méthodes Eclipse doit ajouter:

Servlet methods.png

Le code ci-après devrait normalement être généré :

package com.fruit.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Legume")
public class Legume extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public Legume() {
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
    }
	
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
    }
}

Implémentation des méthodes

Ajoutons un message dans chacune des deux méthodes:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.getWriter().write("METHODE GET");
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.getWriter().write("METHODE POST");
}

La fonction getWriter() permet de récupérer le Writer qui va nous permettre d'écrire la réponse envoyée au navigateur.

Lancement de la Servlet

Vous pouvez démarrer la Servlet en utilisant le bouton Run on server.png du menu contextuel

Contextuel menu run server.png

Pour y accéder, il suffit de rentrer l'URL suivante: http://127.0.0.1:8080/Fruit/Legume

Servlet result.png