Vous êtes sur la page 1sur 23

EHEIO

Niveau : 1ère Année Master

TOMCAT
(Java EE)

Contenu : Présenté par :


Installation
Fonctionnement Redouane Esbai

Année universitaire : 2022 / 2023


Serveur Tomcat

Tomcat : un serveur d'applications


➢ Un serveur léger, gratuit, libre, multiplateforme et assez complet
➢ On le rencontre d'ailleurs très souvent dans des projets en entreprise, en
phase de développement comme en production.

Pour information, sachez que Tomcat tire sa légèreté du fait qu'il n'est en
réalité que l'assemblage d'un serveur web (gestion des requêtes/réponses
HTTP) et d'un conteneur web.
Pour le moment, retenez simplement que ce n'est pas un serveur
d'applications JEE au sens complet du terme, car il ne respecte pas
entièrement ses spécifications et ne supporte pas toutes ses technologies.

2
Installation

• Il faut d’abord installer JDK

• TOMCAT est un produit de la fondation Apache

• Actuellement il est en sa version 10.1

• Nous allons utilisé la version 10, version stable.

• Après téléchargement de TOMCAT et installation

– Le moteur de servlet = CATALINA

• Pour tester le bon fonctionnement de TOMCAT,


http://localhost:8080

12/10/2022 3
Fonctionnement de TOMCAT
➢ TOMCAT est un conteneur capable d’interpréter des servlets et des
pages jsp

✓ Comme IIS avec les ASP

➢ Son rôle est de fournir une réponse HTML dynamique au serveur web

➢ Le client émet une requête sur le serveur web en fournissant l’URL

➢ Le serveur web réceptionne la requête et transmet à TOMCAT

➢ TOMCAT construit deux objets spécifiques, request et response

➢ TOMCAT ensuite envoi la réponse HTML au serveur web via l’objet


response

➢ Le serveur web transmet la réponse au navigateur client

12/10/2022 4
Fonctionnement de TOMCAT
Tomcat est composé de l'arborescence suivante :

➢ bin : contient un ensemble de scripts pour la mise en oeuvre de Tomcat

➢ lib: contient les bibliothèques utilisées par Tomcat et mises à disposition de


toutes les applications qui seront exécutées dans Tomcat

➢ conf : contient des fichiers de propriétés notamment les fichiers server.xml,


tomcat-users.xml et le fichier par défaut web.xml

➢ logs : contient les journaux d'exécution

➢ server : contient des bibliothèques utilisées par Tomcat et l'application web


d'administration de Tomcat

➢ temp : est un répertoire temporaire utilisé lors des traitements

➢ webapps : contient les applications web exécutées sous Tomcat

➢ work : contient le résultat de la compilation des JSP en servlets


5
Fonctionnement de TOMCAT
Tomcat 5+ met à disposition un certain nombre d'API à toutes les
webapp qu'il exécute.
Ces API sont dans le répertoire "/lib" de Tomcat :
– catalina-ant.jar (Apache Ant )
– tomcat-dbcp.jar (Commons DBCP )
– el.jar (Commons Expression Language )
– tomcat-jdbc.jar
– jasper.jar
– jaspic-api.jar
– jsp-api.jar (JSP )
– servlet-api.jar (Servlet )
– …

6
Webapps et WEB-INF

➢ Webapps correspond à l’emplacement des applications

➢ Dans le menu de TOMCAT vous pourrez aussi utiliser Tomcat


manager pour déployer vos applications ( A voir en TP )

➢ WEB-INF contient un fichier web.xml décrivant le mode d’appel des


servlets

➢ Le répertoire classes est réservé à toutes les classes Java compilés


de l’application

➢ Le répertoire lib contient tous les fichiers d’archivages java (.jar)

12/10/2022 7
Répertoire Conf et bin
Répertoire Conf
➢ serveur.xml : Définit la configuration de serveur (répertoire, log,
performance, rechargement de servlet…)

➢ web.xml : contient les paramètres de configuration communs à toutes les


applications web déployées sur le serveur.

➢ context.xml : contient les directives communes à toutes les applications


web déployées sur le serveur ;

➢ tomcat-users.xml : contient entre autres l'identifiant et le mot de passe


permettant d'accéder à l'interface d'administration de votre serveur Tomcat

Répertoire bin
➢ Script de lancement et d’arrêt (startup.bat / shutdown.bat)
8
Configurer une application Web

Une fois la servlet codée

– on crée un fichier .war

✓ Qui est un fichier compressé qui conserve l’arboresence

✓ Et avec la console manager de TomCat on déploie


l’application

12/10/2022 9
Structure d’une application Java EE

10
Fichier .war
➢ Le format war (Web Application Archive) permet de regrouper en un seul fichier
tous les éléments d'une application web que ce soit pour le côté serveur
(servlets, JSP, classes java, ...) ou pour le côté client (ressources HTML,
images, son ... ).

➢ C'est une extension du format jar spécialement dédiée aux applications web qui
a été introduite dans les spécifications de la version 2.2 des servlets.

➢ C'est un format indépendant de toute plate-forme et exploitable par tous les


conteneurs web

➢ les fichiers war possèdent une structure particulière qui est incluse dans un
fichier compressé de type "zip" possédant comme extension ".war".

11
Fichier .war

➢ Le nom du fichier .war sera automatiquement associé dans l'url pour


l'accès à l'application .

➢ Par exemple, Avec le fichier test.war pour accéder à l'application web


sera http://localhost:8080/test/

➢ Le répertoire WEB-INF et le fichier web.xml qu'il contient doivent


obligatoirement être présents dans l'archive.

– web.xml étant le descripteur de déploiement de l'application


web.

12/10/2022 12
Fichier web.xml
Le fichier /WEB-INF/web.xml est le descripteur de déploiement
permettant de configurer :

– l'application,

– les servlets,

– les sessions,

– les bibliothèques de tags personnalisées,

– les paramètres de contexte,

– les pages par défaut,

– les ressources externes,

– la sécurité de l'application et des ressources JEE.


12/10/2022 13
Fichier web.xml

Exemple : servlet 4.0

<?xml version="1.0" encoding="UTF-8"?>


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">

12/10/2022 14
Fichier web.xml
➢ L'élément racine est le tag <web-app>.

– Cet élément peut avoir plusieurs tags fils dont l'ordre d'utilisation doit

respecter celui défini dans le schéma xml utilisée.

➢ Le tag <icon> permet de préciser une petite et une grande image qui

pourront être utilisées par des outils graphiques.

➢ Le tag <display-name> permet de donner un nom pour l'affichage dans les

outils.

➢ Le tag <description> permet de fournir un texte de description de

l'application web.

12/10/2022 15
Fichier web.xml

➢ Le tag <context-param> permet de fournir un paramètre d'initialisation de


l'application.

➢ Ce tag peut avoir trois tags fils :

– <param-name>,

– <param-value>

– et <description>.

➢ Il doit y en avoir autant que de paramètres d'initialisation.

➢ Les valeurs fournies peuvent être retrouvées dans le code de la servlet


grace à la méthode getInitParameter() de l'objet ServletContext

12/10/2022 16
Fichier web.xml
➢ La tag <servlet> permet de définir une servlet.

➢ Le tag fils <icon> permet de préciser une petite et une grande image pour

les outils graphique.

➢ Le tag <servlet-name> permet de donner un nom à la servlet qui sera utilisé

pour le mapping avec l'URL par défaut de la servlet.

➢ Le tag <display-name> permet de donner un nom d'affichage.

➢ Le tag <description> permet de fournir une description de la servlet.

➢ Le tag <servlet-class> permet de préciser le nom complètement qualifié de

la classe java dont la servlet sera une instance.


17
Fichier web.xml

➢ Le tag <init-param> permet de préciser un paramètre d'initialisation pour la

servlet.

➢ Ce tag possède les tag fils <param-name>, <param-value>, <description>.

➢ Les valeurs fournies peuvent être retrouvées dans le code de la servlet

grace à la méthode getInitParameter() de la classe ServletConfig.

➢ Le tag <load-on-startup> permet de préciser si la servlet doit être instanciée

lors de l'initialisation du conteneur.

➢ Il est possible de préciser dans le corps de ce tag un numéro de séquence

qui permettra d'ordonner la création des servlets.


18
Fichier web.xml

Exemple : servlet 2.2

<servlet>
<servlet-name>MaServlet</servlet-name>
<servlet-class> com.moi.test.servlet.MaServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>param1</param-name>
<param-value>valeur1</param-value>
</init-param>

</servlet>

12/10/2022 19
Fichier web.xml

➢ Le tag <servlet-mapping> permet d'associer la servlet à une URL.

➢ Ce tag possède les tag fils <servlet-name> et <servlet-mapping>

Exemple : servlet 2.2

<servlet-mapping>

<servlet-name>MaServlet</servlet-name>

<url-pattern>/test</url-pattern>

</servlet-mapping>

12/10/2022 20
Fichier web.xml
Le tag <session-config> permet de configurer les sessions. Le tag fils
<session-timeout> permet de préciser la durée maximum d'inactivité de
la session avant sa destruction. La valeur fournie dans le corps de ce
tag est exprimé en minutes.

Exemple : servlet 2.2

<session-config>

<session-timeout>15</session-timeout>

</session-config>

12/10/2022 21
Structure des fichiers d’une application JEE avec Eclipse

22
Structure des fichiers d’une application JEE avec Eclipse

Eclipse adapte certaines spécificités à son mode de fonctionnement

➢ Eclipse déplace la structure standard de l'application vers un dossier nommé


WebContent, et ajoute sous la racine un dossier src qui contiendra le code
source de vos classes (les fichiers .java).

➢ Le dossier WebContent n'existe légitimement qu'au sein d'Eclipse. Si vous


développez sans IDE, ce répertoire ne doit pas exister et votre application doit
impérativement suivre la structure standard présentée précédemment.

➢ Pour cette même raison, si vous souhaitez utiliser votre application en dehors
de l'IDE, il faudra obligatoirement utiliser l'outil d'export proposé par Eclipse.

23

Vous aimerez peut-être aussi