Standard Component Model for Web Development
The JSF component model is similar to the Abstract Window Toolkit (AWT) graphical user interface (GUI) component model. It has events and properties similar to the Swing component model. It also has containers that contain components, which are in turn components that can be contained by other containers. In theory, the JSF component model is divorced from HTML and JSP. The standard set of components that ships with JSF has JSP bindings and generates HTML renderings.
Examples of JSF components include calendar input components and rich HTML input components. You may never have time to write such components, but what if they already existed? The component model lowers the entry barrier to add more functionality to Web applications by making a commodity of common functionality.