In development for two years, JavaServer Faces is intended to enable developers of varying skills to quickly build Web applications by assembling reusable UI components in a page, connecting components to an application data source, and wiring client-generated events to server-side event handlers.
The subject of Java Specification Request 127, JavaServer Faces exceeds related Java development standards such as Struts and JSP, said Ed Burns, a co-lead on JSR-127 and a staff engineer for J2EE at Sun.
This solution provides a best-of-breed approach where we took the concepts that were really useful for all of the other frameworks out there and put them together for a single whole. Its a framework for building Web applications, Burns said.
I briefly looked at JSF a while ago and I find it very hard to use. If you compare the usability of it to ASP.NET's (with which JSF is competing, JSF basically is ASP.NET for Java), ASP.NET is much easier to use and more straightforward.