3 - Conception WEB - Java EE - Installation Tomcat

Transcription

3 - Conception WEB - Java EE - Installation Tomcat
Java pour le développement
d’applications Web : Java EE
Configuration et installation d’un serveur
d’application : Tomcat
Mickaël BARON - 2007
mailto:[email protected] ou mailto:[email protected]
SERLI informatique
SERLI : www.serli.com
Société de services en informatique
Fondé en 1981
Située sur le site du Futuroscope, Poitiers
Réalisation de logiciels et assistance technique
Domaines de compétences
Systèmes d’informations
Embarqué et temps réel
keulkeul.blogspot.com
Systèmes et réseaux
Gestion Electronique de Document (GED, PDM / PLM)
Plateformes de développement (celles qui concernent les cours)
Plateforme Java : Java EE, Java SE, Eclipse
Plateforme Microsoft : C#, VB .NET
…
Conf. Tomcat - M. Baron - Page 119
SERLI informatique
Equipes impliquées dans l’Open Source
Utilisation massive de briques Open Source
Formation / diffusion de cours concernant Java et l’Open Source
RMLL : 7ème rencontres mondiales du logiciel libre
Solutions Linux 2007 : Salon des Solutions Open Source de
l’entreprise
keulkeul.blogspot.com
Membre du consortium ObjectWeb
Gestion de projets Open Source
JaasLounge : interopérabilité JAAS pour Java EE
JASMINe, JShaft : gestion de clusters Java EE
JWT Gen : tests fonctionnels automatisés
Conf. Tomcat - M. Baron - Page 120
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
keulkeul.blogspot.com
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)
Conf. Tomcat - M. Baron - Page 121
Jakarta Tomcat
Tomcat 5.5.4 respecte la spécification Servlet 2.4 et JSP 2.0
É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
keulkeul.blogspot.com
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 !!!
Conf. Tomcat - M. Baron - Page 122
Installation de Tomcat : spéciale Linux
Décompresser l’archive dans un
répertoire de OS (/home/baron/tomcat)
Préférer la version archive
qui est utilisable sur tous
les OS à la version
exécutable Windows
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)
keulkeul.blogspot.com
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
Conf. Tomcat
- M. Baron - Page 123
Hiérarchie des répertoires Tomcat
Organisation partielle des répertoires de Tomcat
Scripts de lancement et d’arrêt du
Serveur Tomcat
bin
common
lib
classes
...
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
conf
Tomcat
Fichiers de logs relatifs à des erreurs
keulkeul.blogspot.com
logs
shared
lib …
Fichiers jar communs à toutes les Servlets
Zone de déploiement
webapps
Conf. Tomcat - M. Baron - Page 124
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
keulkeul.blogspot.com
La modification peut se faire directement sur le fichier ou via la Servlet
Administration
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="identification"/>
<role rolename="manager"/>
<role rolename="test"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="mickael" password="baron" roles="test"/>
<user username="admin" password="baron" roles="admin,manager"/>
</tomcat-users>
Attention à la première utilisation du
Serveur il faut modifier tomcat-user.xml
pour ajouter le compte admin et manager
Les Servlets à
identification par rôles
n’autorisent que les
utilisateur dont les
rôles sont test
Conf. Tomcat - M. Baron - Page 125
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
keulkeul.blogspot.com
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éé
Actions
pour créer
un
nouveau
rôle
Conf. Tomcat - M. Baron - Page 126
Déploiement des applications WEB
Pour le déploiement de votre application WEB il faut absolument 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
keulkeul.blogspot.com
Adresse du
Serveur
Port
Contexte de
l'application
WEB
http://localhost:8080/HelloWorldServlet
http://localhost:8080/HelloWorldServlet/bonjour.maservlet
http://localhost:8080/HelloWorldServlet/toutou.maservlet
http://localhost:8080/HelloWorldServlet/*.maservlet
Conf. Tomcat - M. Baron - Page 127
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
keulkeul.blogspot.com
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
Conf. Tomcat - M. Baron - Page 128
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
...
<Host>
...
<Context path="/HelloWorldServlet" reloadable="true"
docBase="/home/baron/HelloWorldServlet"
workDir="/home/baron/HelloWorldServlet/work" reloadable=true />
</Host>
...
Solution 2 : ajouter un fichier (le nom du projet WEB) dans
le répertoire $CATALINA_HOME/conf/Catalina/localhost/
keulkeul.blogspot.com
Le fichier doit porter le même nom que le répertoire du projet WEB
<Context path="/HelloWorldServlet" 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
Conf. Tomcat - M. Baron - Page 129
Déploiement des applications WEB : outil manager
Solution 3 : utilisation du gestionnaire d’applications WEB
keulkeul.blogspot.com
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
Conf. Tomcat - M. Baron - Page 130
Déploiement des applications WEB : outil manager
keulkeul.blogspot.com
Le chemin de contexte
Exemple : /HelloWorldServlet
Le chemin physique où se trouve la Servlet
Exemple : /home/baron/HelloWorldServlet
Le nom du fichier web.xml
Exemple : web.xml
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
Conf. Tomcat - M. Baron - Page 131

Documents pareils