JavaServer Faces

Un article de Wikipédia, l'encyclopédie libre.

Java Server Faces (abrégé en JSF) est un framework Java basé sur les composants, pour le développement d'applications Web , et fait partie du standard Java EE.

JSF a été mis au point par Craig McClanahan, le père de Struts et de Catalina, le conteneur de servlet de Tomcat. La première version a vu le jour en 2003.

JSF est un framework backend et frontend, dans la mesure où il offre à la fois un ensemble de composants graphiques/visuels pour composer les interfaces utilisateur et une architecture côté serveur qui permet de lier le front-end avec des classes/traitement Java.

Sur le frontend, il améliore les JavaServer Pages en apportant de nouvelles bibliothèques de composants, il existe d'ailleurs beaucoup de bibliothèques JSF open source (ajax4jsf, richfaces,icefaces,…). Les composants JSF sont comme des composants JSP, ils génèrent du HTML et du JavaScript.

Sur le backend JSF apporte d'énormes améliorations, en fait JSF est basé sur le pattern MVC2 et apporte la notion d'inversion de controle ou IOC (voir Spring), c'est à dire qu'il permet à certaines classes Java (appelées alors des JSF Managed Beans) d'être instanciées que lorsque c'est nécessaire (par JSF). La navigation ne se fait plus de page en page par des URL mais de vue en vue par des évènements.

Sommaire

[modifier] Spécifications

[modifier] JSF 1.2

Les spécifications de la version 1.2 sont définies dans la JSR 252[1], celles-ci requièrent les bibliothèques suivantes :

JSF 1.2 comprend un ensemble d'améliorations mineures à la spécification précédente, JSF 1.1 :

  • L'utilisation d'un schéma pour le fichier de configuration, à la place d'une DTD.
  • Des améliorations pour pouvoir gérer plusieurs frames ou fenêtres d'une même application.
  • Quelques corrections pour des bogues.

[modifier] JSF 1.1

Les spécifications JSF 1.1 sont définies dans la JSR 127[2] du consortium Java Community Process, celles-ci requièrent les bibliothèques suivantes :

[modifier] Notes & références

  1. JSR 252 sur le site du Java Community Process
  2. JSR 127 sur le site du Java Community Process

[modifier] Liens externes