JSF (JSR 127) is a standard Java EE specification of a component based web application framework for developing user interfaces.
JSF uses JavaServer Pages (JSP) for its default display technology but can also integrate other technologies (such as Facelets).
The JSF framework provides a set of APIs for representing UI components, managing their state, handling events and input validations and defining page navigation.
Upcoming JSF 2.0 will provide new improvements and features such as integrated AJAX, templates, annotations and more.