-
Application web JSF
Cette page présente la création d'un exemple JSF (2.1) avec Eclipse (4.2.0), Maven (3.0.4), JBoss AS (7.1.1.Final).
La structure de base d'une application web utilisant JSF est :
Ces composants seront discutés en détails dans le reste de ce tutoriel,
mais il faut signaler à ce stade que la compilation des beans nécessite la librairie JSF qui peut être acquise de plusieurs façons.
Dans cet exemple, on utilise Maven qui contient dans son repository toutes les librairies nécessaires au développement des applications web JSF.
-
Créer un projet web avec Maven : mtitek-modulez-jsf
Créer un projet web avec Maven :
Importer le projet dans Eclipse (Eclipse –> Import –> Maven –> Existing Maven Projects).
Notes :
Sur Linux, le caractère "\" permet d'écrire une commande sur plusieurs lignes.
Sur Windows, il faut utiliser le caractère "^".
Modifier le fichier POM et ajouter une dépendance sur la librairie JSF :
-
Structure de l'application web : mtitek-modulez-jsf
Voici la structure de l'application web présentée dans cet exemple :
Cette application contient deux fichiers web ("hello.xhtml", "welcome.xhtml") qui utilisent des tags JSF et un bean managé (Managed Bean) ("HelloManagedBean.java").
Le fichier "web.xml" contient le mapping des URLs, se terminant par l'extension ".xhtml", avec la Servlet JSF ("FacesServlet").
Voici le contenu du fichier "web.xml" :
Voici le code de la classe "HelloManagedBean" :
Voici le code du fichier "hello.xhtml" :
Voici le code du fichier "welcome.xhtml" :
Pour installer l'application avec Maven et générer le fichier war "mtitek-modulez-jsf.war" :
Copier le fichier "mtitek-modulez-jsf.war" dans le répertoire "$JBOSS_HOME/standalone/deployments/"
Voici l'URL pour lancer la page "hello.xhtml" :
-
Fichier de configuration JSF : faces-config.xml
Il est possible de déployer le fichier de configuration "faces-config.xml" avec l'application web.
Il contient des configurations spécifiques à l'application web JSF : navigation entre les pages, beans managés, fichiers de ressources, …
Son utilisation va être vue plus en détails dans les chapitres qui suivront.
Ce fichier n'est plus obligatoire, d'autant plus qu'il est possible de spécifier un autre nom à ce fichier,
et même, si nécessaire, spécifier plusieurs fichiers de configuration pour l'application web JSF.
Voici un exemple vide du fichier "faces-config.xml" :
Ce fichier doit être placé directement dans le répertoire "WEB-INF".
Il est possible de placer ce fichier dans le répertoire "META-INF".
Il est aussi possible de renommer le fichier avec un nom qui a l'extension ".faces-config.xml" et le placer dans le répertoire "META-INF".
L'autre alternative consiste à spécifier les noms des fichiers de configuration dans le fichier "web.xml" (les noms doivent être séparés par une virgule).
-
Fichier de configuration spécifique à JBoss : jboss-web.xml
Le fichier de configuration "jboss-web.xml" permet de définir plusieurs paramètres spécifiques à JBoss.
Voici un exemple du fichier "jboss-web.xml" où on utilise le paramètre "context-root" pour spécifier un alias explicite à l'application web.
L'URL pour lancer la page "hello.xhtml" devient :
-
Déployer l'application web dans JBoss en utilisant Maven
Pour pouvoir déployer l'application web dans JBoss en utilisant Maven, il faut ajouter le plugin JBoss dans le fichier POM :
La ligne de commande pour déployer l'application dans JBoss (il faut que JBoss soit déjà démarré) :
Pour connaitre les différents paramètres du but deploy
:
-
Structure finale de l'application web : mtitek-modulez-jsf