JavaServer Faces
JavaServer Faces (JSF) est une infrastructure d'interface utilisateur ou une API (interface de programmation) qui facilite le développement d'applications Web Java™.
- Construire facilement une interface utilisateur à partir d'un ensemble de composants d'interface utilisateur.
- Simplifier la migration de données d'application vers et depuis l'interface utilisateur.
- Gérer plus facilement l'état de l'interface utilisateur entre les demandes de serveur.
- Fournir un modèle simplifié pour la connexion d'événements générés par le client au code d'application côté serveur.
- Prendre en charge des composants d'interface utilisateur personnalisés à des fins de génération et de réutilisation.
L'implémentation d'Apache MyFaces est fournie avec WebSphere Application Server et fournit les bases du code utilisé pour JavaServer Faces.
La version de l'environnement d'exécution JSF qui est fournie avec le produit réside à l'emplacement de bibliothèque d'exécution classique et est disponible pour toutes les applications Web qui utilisent des API JSF. Le chargement du servlet JSF fonctionne comme si l'environnement d'exécution était groupé à l'aide de l'application Web. La version groupée contient des enrichissements renforçant l'intégration à l'analyse d'annotation intégrée et d'autres composants d'exécution de WebSphere Application Server.
Les classes de spécification javax.faces.* pour JSF et la version modifiée par IBM® de l'implémentation Apache MyFaces JSF sont regroupées dans l'environnement d'exécution.
Généralement, les applications web qui utilisent cette API/infrastructure intègrent les fichiers d'archive JAR (Java archive) de l'API JSF et de l'implémentation dans leur fichier WAR (web application archive). Cela n'est toutefois pas nécessaire lorsque ces applications Web sont déployées et exécutées dans WebSphere Application Server. Il suffit de retirer du fichier WAR ces fichiers JAR, ainsi que les éventuels fichiers JAR JSTL. Toutefois, étant donné que JavaServer Faces 2.2 fait partie de la plateforme Java Platform, Enterprise Edition (Java EE), une application Web ne regroupe pas une implémentation JavaServer Faces lorsqu'elle s'exécute sur un conteneur Web compatible avec la technologie Java EE. Si une implémentation JavaServer Faces est intégrée à une application Web, elle est ignorée étant donné que l'implémentation JavaServer Faces fournie par la plateforme a toujours la priorité.
L'environnement d'exécution JSF pour WebSphere Application Server ne permet pas d'utiliser un seul chargeur de classe pour l'ensemble de l'application, car l'initialisation de FacesConfig requiert l'intervention d'un seul chargeur de classe pour chacun des modules JSF.. Cette prise en charge n'est pas assurée lorsque l'application contient plusieurs modules web dont l'un est un module JSF. Par conséquent, vous devez utiliser plusieurs chargeurs de classe lorsque l'application contient plusieurs modules Web et au moins un module JSF.
Pour l'utilisation d'implémentations différentes de JSF, le moteur JSF WebSphere Application Server détermine si SUN RI ou Apache MyFaces est utilisé depuis l'environnement d'exécution du serveur d'applications. Une fois que le moteur JSF est fixé sur ce point, c'est la bonne classe du programme d'écoute qui est enregistrée auprès du conteneur web. Il n'est pas nécessaire d'ajouter le paramètre com.sun.faces.ConfigureListener ou org.apache.myfaces.StartupConfigureListener au fichier web.xml.
Si vous utilisez une implémentation JSF tierce qui n'est pas fournie avec le produit, conservez la configuration MyFaces, ajoutez le programme d'écoute tiers au fichier web.xml qui est nécessaire, et ajoutez les fichiers JAR de l'implémentation tierce au module Web sous la forme d'une bibliothèque partagée isolée. Les bibliothèques partagées isolées permettent à la version de l'application web des classes JSF ou JSTL de se charger avant le serveur d'applications.