|
Cadre Fonctionnel |
Déploiement d’une servlet |
|
Cadre Technique |
Tomcat |
|
Identifiant |
DEP_SERVLET_01 |
|
Référent technique |
|
|
Version |
1.0 |
|
Auteur |
Alexandre Brillant |
|
Date |
04/01 |
| Source | |
| Dépendance |
INS_SERVLET_01, INS_ANT_01 |
| Cible |
SYS_SERVLET_01, SYS_ANT_01 |
Il faut disposer d’un fichier de déploiement web.xml :
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>hexadevServlet</display-name>
<description>
Exemple de servlet
</description>
<servlet>
<servlet-name>hexadevServlet</servlet-name>
<servlet-class>hexadev.HexadevServlet</servlet-class>
<init-param>
<param-name>message</param-name>
<param-value>Message de Test</param-value>
</init-param>
</servlet>
</web-app>
|
Deux méthodes existent pour exploiter une servlet :
La première est de déposer les servlets dans le répertoire web-apps.
La seconde est de créer un fichier war (Web Archive).
Créer un répertoire représentant le domaine d’exécution de votre servlet (par exemple hexadev).
Créer dans ce répertoire, un répertoire WEB-INF contenant à la racine le fichier correctement modifié web.xml
Copier les classes représentant les servlets dans le répertoire WEB-INF/classes et les librairies annexes dans le répertoire WEB-INF/lib.
Exécuter tomcat et tester vos servlets (par exemple http://localhost :8080/hexadev/servlet/ hexadevServlet).
Un war répresente un jar du répertoire créé dans web-apps. Il facilite le déploiement de servlet en contenant aussi toutes les autres ressources comme les pages HTML, Les script JSP…
On peut le créer par la commande jar cvf fichier.war répertoire.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Exemple de compilation de servlet à partir de ANT -->
<project name="servlet" default="compile"
basedir=".">
<property name="src" value="src"/>
<property name="bin" value="classes"/>
<property name="web" value="web"/>
<path id="project.class.path">
<pathelement location="D:\jakarta-tomcat\lib\servlet.jar"/>
</path>
<target name="init">
<mkdir dir="${bin}"/>
</target>
<!-- compilation -->
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${bin}">
<classpath refid="project.class.path"/>
</javac>
</target>
<!-- construction d'un war -->
<target name="deploy" depends="compile">
<mkdir dir="${web}/WEB-INF/classes"/>
<copy todir="${web}/WEB-INF/classes">
<fileset dir="${bin}"/>
</copy>
<copy file="web.xml" todir="${web}/WEB-INF"/>
<jar jarfile="web.war"
basedir="${web}"/>
</target>
</project>
|
L’action ‘deploy’ construit un répertoire web, copie le fichier web.xml et les classes des servlets et construit un fichier war.
Il ne reste plus qu’à copier le war dans le répertoire webapps. Si un autre répertoire doit être utilisé, il faut modifier le fichier %TOMCAT_HOME%\conf\server.xml et ajouter dans la balise ContextManager une balise Connector par exemple :
<contextManager… > … <context path= "" docbase="mon path" debug="0" reloadable=""true"/> </contextManager> |