Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java EE : Tomcat

Mickael BARON
September 27, 2006

Java EE : Tomcat

Support de cours sur Apache Tomcat : installation et configuration d'un serveur d'application Tomcat et déploiement des applications Web.

Mickael BARON

September 27, 2006
Tweet

More Decks by Mickael BARON

Other Decks in Programming

Transcript

  1. Java pour le développement
    d’applications Web : Java EE
    Mickaël BARON - 2007 (Rév. Août 2009)
    mailto:[email protected] ou mailto:[email protected]
    mickael-baron.fr
    mickaelbaron
    Configuration et installation d’un serveur
    d’application : Tomcat

    View full-size slide

  2. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    2
    Creative Commons
    Contrat Paternité
    Partage des Conditions Initiales à l'Identique
    2.0 France
    http://creativecommons.org/licenses/by-sa/2.0/fr
    Licence

    View full-size slide

  3. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    3
    À propos de l’auteur …
    † Mickaël BARON
    † Ingénieur de Recherche au LIAS
    † https://www.lias-lab.fr
    † Equipe : Ingénierie des Données et des Modèles
    † Responsable des plateformes logicielles, « coach » technique
    † Ancien responsable Java de Developpez.com (2011-2021)
    † Communauté Francophone dédiée au développement informatique
    † https://java.developpez.com
    † 4 millions de visiteurs uniques et 12 millions de pages vues par mois
    † 750 00 membres, 2000 forums et jusqu'à 5000 messages par jour
    mickael-baron.fr
    mickaelbaron

    View full-size slide

  4. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    4
    Conteneurs de Servlet
    † Rappel : une Servlet s’exécute dans un moteur de
    Servlet ou conteneur de Servlet permettant d’établir le
    lien entre la Servlet et le serveur Web
    † Deux types de conteneurs
    † Conteneurs de Servlets autonomes : c’est un serveur WWW qui
    intègre le support des Servlets
    † Conteneurs de Servlets additionnels : fonctionnent comme un plug-in
    à un serveur WWW existant
    † Nombreux conteneurs de Servlet
    † Tomcat Server d’Apache (jakarta.apache.org)
    † JBoss (www.jboss.org)
    † WebSphere Application Server d’IBM (www.ibm.com)
    † Weblogic de BEA (www.bea.com)
    † GlassFish de Sun (www.java.sun.com)
    † JOnAS ObjectWeb (jonas.objectweb.org)

    View full-size slide

  5. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    5
    Jakarta Tomcat
    † Tomcat 6.x respecte la spécification Servlet 2.5 et JSP 2.1
    † Écrit entièrement en Java, il peut donc être utilisé sur
    n’importe quel système disposant d’une machine virtuelle
    † Disponible gratuitement sous forme d’une licence Open
    Source
    † Nécessite obligatoirement une machine virtuelle respectant la
    spécification 5.0 (jre 1.5.0)
    † Implémentation de référence de la spécification Java EE. Il
    fournit donc les librairies de façon à concevoir des Servlets
    (javax.servlet.http.HttpServlet)
    † Pourquoi celui-ci et pas un autre :
    † Gratuit et facile à installer !!!

    View full-size slide

  6. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    6
    Installation de Tomcat : spéciale Linux
    † Décompresser l’archive dans un
    répertoire de OS (/home/baron/tomcat)
    † Modifier la variable PATH de l’OS
    de façon à prendre en compte le chemin binaire de Tomcat
    (PATH=$PATH:/home/baron/tomcat/bin)
    † Ajouter la variable CATALINA_HOME qui pointe sur le chemin
    de Tomcat (CATALINA_HOME=/home/baron/tomcat)
    † Ajouter la variable JAVA_HOME qui pointe sur le chemin de la
    machine virtuelle (JAVA_HOME=/home/baron/jdk1.5.0)
    † Compléter la variable CLASSPATH qui pointe sur les librairies
    Java EE (CLASSPATH=$CLASSPATH:/home/baron/tomcat/common/lib)
    † Pour vérifier que votre serveur de chat
    fonctionne lancer startup.sh
    Préférer la version archive
    qui est utilisable sur tous
    les OS à la version
    exécutable Windows

    View full-size slide

  7. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    7
    Hiérarchie des répertoires Tomcat
    Tomcat
    webapps
    shared lib …
    logs
    conf
    common lib
    classes
    ...
    bin
    † Organisation partielle des répertoires de Tomcat
    Scripts de lancement et d’arrêt du
    Serveur Tomcat
    jar utilisés par Tomcat pour fonctionner.
    Contient également les librairie correspondant à
    l’implémentation de la spécification Java EE
    Fichiers de configuration : server.xml, web.xml et
    tomcat-users.xml
    Fichiers de logs relatifs à des erreurs
    Fichiers jar communs à toutes les Servlets
    Zone de déploiement

    View full-size slide

  8. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    8
    Ajout, Suppression et modification des rôles
    † Un rôle c’est quoi ?
    † Permet d’ajouter des utilisateurs et de définir des droits sur les Servlets
    Utiliser pour l’identification à base de rôles
    † Les rôles sont définis dans le fichier tomcat-users.xml
    † La modification peut se faire directement sur le fichier ou via la Servlet
    Administration














    Les Servlets à
    identification par rôles
    n’autorisent que les
    utilisateurs dont les
    rôles sont test
    Attention à la première utilisation du
    Serveur il faut modifier tomcat-user.xml
    pour ajouter le compte admin et manager

    View full-size slide

  9. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    9
    Ajout, Suppression et modification des rôles
    † La Servlet Administration permet via une interface WEB de
    modifier certains éléments du serveur Tomcat et notamment
    les rôles
    Actions
    pour créer
    un
    nouveau
    rôle
    Possibilité d’ajouter
    des utilisateurs et
    de définir des
    groupes
    Attention pour utiliser la Servlet
    Administration il faut que le
    compte admin soit créé

    View full-size slide

  10. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    10
    Déploiement des applications WEB
    † Pour le déploiement de votre application WEB il faut absolu-
    ment respecter la structure définie dans la partie précédente
    † Le déploiement permet d’indiquer au conteneur de Servlets
    † Où se trouve le répertoire physique de votre application WEB
    † Préciser pour le contexte d’une l’application WEB où se trouve les
    ressources sur le serveur Tomcat
    http://localhost:8080/HelloWorldServlet/bonjour.maservlet
    http://localhost:8080/HelloWorldServlet/toutou.maservlet
    http://localhost:8080/HelloWorldServlet/*.maservlet
    http://localhost:8080/HelloWorldServlet
    Adresse du
    Serveur
    Port
    Contexte de
    l'application
    WEB

    View full-size slide

  11. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    11
    Déploiement des applications WEB : le contexte
    † Le contexte est défini
    † path="/HelloWorldServlet" : URL d’accès
    † docBase="/home/baron/HelloWorldServlet" : chemin d’accès des
    fichiers (absolu ou relatif par rapport au répertoire webapps)
    † reloadable="true" : détection automatique des changements et
    rechargement si besoin
    † workDir="/home/baron/HelloWorldServlet/work" : répertoire
    temporaire dans lequel l’application pourra effectuer certaines
    opérations
    † crossContext="true" : autorise la communication intercontextes
    † Plusieurs solutions sont données pour préciser le contexte
    d’une application WEB au serveur
    † Modification manuelle des fichiers de configuration
    † Utilisation de l’outil manager

    View full-size slide

  12. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    12
    Déploiement des applications WEB : à la main
    † Solution 1 : modification de $CATALINA_HOME/conf/server.xml
    † Ajouter à la fin de la balise HOST la balise CONTEXT
    † Solution 2 : ajouter un fichier (le nom du projet WEB) dans
    le répertoire $CATALINA_HOME/conf/Catalina/localhost/
    † Le fichier doit porter le même nom que le répertoire du projet WEB
    ...

    ...
    docBase="/home/baron/HelloWorldServlet"
    workDir="/home/baron/HelloWorldServlet/work" reloadable=true />

    ...
    docBase="/home/baron/HelloWorldServlet"
    workDir="/home/baron/HelloWorldServlet/work" reloadable=true />
    Cette solution est
    utilisée par Eclipse avec
    le plugin Sysdeo Tomcat

    View full-size slide

  13. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    13
    Déploiement des applications WEB : outil manager
    † Solution 3 : utilisation du gestionnaire d’applications WEB
    Liste des applications
    WEB contenues sur le
    Serveur Tomcat
    Déploiement des
    applications sans
    redémarrer le Serveur
    Déploiement des
    applications sous forme
    WAR sans redémarrer
    le Serveur

    View full-size slide

  14. Conf. Tomcat - M. Baron - Page
    mickael-baron.fr mickaelbaron
    14
    Déploiement des applications WEB : outil manager
    Le chemin de contexte
    Exemple : /HelloWorldServlet
    Le nom du fichier web.xml
    Exemple : web.xml
    Le chemin physique où se trouve la Servlet
    Exemple : /home/baron/HelloWorldServlet
    Les fichiers WAR ne sont ni plus ni
    moins que des JAR (renommage). Il
    faut obligatoirement que le répertoire
    WEB-INF soit à la racine de l’archive

    View full-size slide