JavaServer Faces (JSF) es una tecnología y framework para aplicaciones Java basadas
en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE.
JSF usa JavaServer Pages (JSP) como la tecnología que permite hacer el despliegue de
las páginas, pero también se puede acomodar a otras tecnologías como XUL.
JSF incluye:
Un conjunto de APIs para representar componentes de una interfaz de usuario y
administrar su estado, manejar eventos, validar entrada, definir un esquema de
navegación de las páginas y dar soporte para internacionalización y
accesibilidad.
Un conjunto por defecto de componentes para la interfaz de usuario.
Dos bibliotecas de etiquetas personalizadas para JavaServer Pages que permiten
expresar una interfaz JavaServer Faces dentro de una página JSP.
Un modelo de eventos en el lado del servidor.
Administración de estados.
Beans administrados.
La especificación de JSF fue desarrollada por la Java Community Process como JSR
127, que definía JSF 1.0 y 1.1, JSR 252 que define JSF 1.2 y JSR 314 para JSF 2.0