Premiers pas avec Tomcat Les étapes de création et de

publicité
Premiers pas avec Tomcat
Les étapes de création et de déploiement d'une servlet
Lors TP/TD suivants, vous pourrez utiliser les environnements de programmation NetBeans ou
Eclipse. Même si ce type d'outil permet de faciliter la tâche du développeur, il cache tout de même
de nombreuses opérations qu'il est nécessaire de faire au moins une fois afin de mieux comprendre
les étapes du développement et déploiement d'une application web Java.
1
Préparation du projet : création du squelette de l'application
Les modules JavaEE ont des structures particulières (voir cours Servlet). Lorsque l'on commence un
projet JavaEE la première chose à faire est de créer cette structure dans le répertoire du projet.
Dans un répertoire de travail, créez l'arborescence suivante :
Le répertoire docs contiendra les éventuelles documentations de votre application telle que la
javadoc. Le répertoire src contiendra les sources java de votre application, c.-à-d. Les servlet et
autres classes utilisées.
Le répertoire web contient l'ensemble des composants nécessaires à votre module. Ce répertoire a
une organisation spécifique. La racine contient l'ensemble des pages html, et jsp qui peuvent être
organisées dans une arborescence. Le répertoire WEB-INF contient quand à lui :
– les classes compilées de l'application (servlet et autres classes) dans le sous- répertoire
classes,
– éventuellement le fichier de configuration de l'application web.xml,
– éventuellement un sous- répertoire lib (pas dans notre cas) contenant les archives jar des
librairies utilisées par l'application.
2
Création et compilation d'une première servlet
Dans le répertoire src, créez la structure de répertoires du package fr.upmf.ic2a :
Recopiez le source suivant et enregistrez-le sous le nom de
répertoire ic2a
MaPremiereServlet.java
dans le
package fr.upmf.ic2a;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/premiereservlet.html")
public class MaPremiereServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html> <body> C'est ma première servlet </body> </html>");
out.close();
}
}
Maintenant, nous allons compiler cette première servlet. A partir de la racine de votre projet
( répertoire myapp), réalisez les commandes suivantes :
export CLASSPATH=/usr/local/apache-tomcat-8.0.23/lib/servlet-api.jar
javac -sourcepath src -d web/WEB-INF/classes src/fr/upmf/ic2a/MaPremiereServlet.java
3
3.1
Configuration et déploiement du module
Création de l'archive war du module
Maintenant, le module (l'ensemble du contenu du répertoire
web) contenant la servlet
MaPremiereServlet est prêt à être déployé. Cependant afin de faciliter son déploiement, nous
allons archiver le contenu de ce répertoire web. Allez dans le répertoire web de votre projet. A partir
de là, créez une archive war comme suit :
jar cf ../monapp.war *
Cette commande va créer une archive contenant l'ensemble de la structure et fichiers du répertoire
web de votre projet. C'est cette archive que l'on va déployer sur Tomcat.
3.2
Configuration et lancement du service Apache Tomcat
Dans le répertoire de votre projet, créez un dossier tomcatinstance.
Copiez les fichiers de l'installation de tomcat nécessaires à votre instance en utilisant la commande
suivante :
cp -r /usr/local/apache-tomcat-8.0.23/conf /usr/local/apache-tomcat-8.0.23/logs/
/usr/local/apache-tomcat-8.0.23/webapps/ /usr/local/apache-tomcat8.0.23/work/ /usr/local/apache-tomcat-8.0.23/temp/ tomcatinstance
Ajoutez les lignes suivantes dans le fichier tomcatinstance/conf/tomcat-users.xml :
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
Définissez l'instance à utiliser via la variable CATALINA_BASE
export CATALINA_BASE=tomcatinstance
Démarrez le serveur : /usr/local/apache-tomcat-8.0.23/bin/catalina.sh start
Le serveur est démarré (pour l'arrêter
stop)
: /usr/local/apache-tomcat-8.0.23/bin/catalina.sh
→ allez sur l'URL : http://localhost:8080
3.3
Déploiement et test du module
Allez ensuite dans la partie administration. Le nom d'utilisateur et le mot de passe sont “admin”.
Sur cette interface, vous pouvez visualiser l'ensemble des modules déployés sur Tomcat. Vous
pouvez les relancer, les mettre à jour ou les supprimer. Vous pouvez également déployer un nouveau
module.
Pour installer votre module, chargez le fichier war précédemment créé à partir de la section «
file to deploy »
War
Une fois l'installation du module réussie, vous pouvez accéder à votre servlet en utilisant l'adresse
suivante :
http://localhost:8080/nom_du_module/premiereservlet.html
Allez voir dans le répertoire catalinabase/web-apps. Que remarquez vous ?
A partir de l'interface d'administration, enlevez votre module. Vérifiez que vous n'y avez plus accès.
Ensuite, créez un sous- répertoire dans catalinabase et copiez y le répertoire WEB-INF de votre
application. Que remarquez vous ?
Téléchargement