22 janv. 2012

installation de Tomcat

L'installation de Tomcat est très simple, il suffit de télécharger depuis le site officiel de Tomcat la version qui vous interesse (pour ma part j'ai pris la dernière). Il suffit ensuite de la décompresser dans un répertoire ou vous avez les droits d'écriture, chez moi (sur mon mac), usr/local était un bon candidat.


Il est tout à fait possible d'utiliser un éditeur de code simple mais je conseille l'utilisation d'un IDE tel qu'Eclipse, avec les extensions Dynamic Web Project qui comprend un gestionnaire de serveurs qui s'occupera de lancer et terminer Tomcat proprement, mais aussi l'export automatique de votre projet Eclipse dans le contexte d'execution de Tomcat. Sans utiliser Tomcat vous devrez respecter la structure d'un jar, c'est à dire un dossier META-INF ainsi que l'utilisation du dossier WEB-INF qui comprend toutes les ressources statiques. Le contenu de WEB-INF sera inaccessible depuis l'extérieur. Le fichier web.xml est très important car c'est lui qui contiendra la configuration de votre webapp. Il comportera la déclaration de vos servlets et le mapping des urls aux servlets. On va prendre l'exemple d'une servlet qui affichera l'habituel Hello World. J'utilise ici Eclipse pour la création du projet, et je l'utiliserais pour l'export en fichier war (un jar pour web application).
package com.hipopochat;

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;

public class MaPremiereServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;

    public MaPremiereServlet() {
        super();
    }

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                processRequest(request, response);
        }

        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                processRequest(request, response);
        }

        protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                response.getWriter().write("Hello World !");
        }
}
Cette servlet est déclarée dans le fichier web.xml, et on la mappe à l'url /premiereservlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        id="WebApp_ID" version="3.0">
        
        <display-name>Ma Premiere Servlet</display-name>
        
        <servlet>
                <servlet-name>toto</servlet-name>
                <servlet-class>com.hipopochat.MaPremiereServlet</servlet-class>
        </servlet>
        
        <servlet-mapping>
                <servlet-name>toto</servlet-name>
                <url-pattern>/maservlet</url-pattern>
        </servlet-mapping>
</web-app>
une fois que Tomcat est lancé, notre servlet est disponible à l'adresse suivante:
http://localhost:8080/MonProjet/maservlet
Le port par défaut est 8080, mais il est changeable dans le fichier /chemin/vers/tomcat/conf/server.xml. Je trouve que c'est vraiment interessant de pouvoir utiliser du Java pour des web services, la mise en place est un tout petit peu compliqué, mais ca en vaut le coup ;)

Aucun commentaire: