JavaServerFaces(JSF) is a framework for building web-based user interface in Java. Unlike Swing, JSF provides widgets like buttons, hyperlinks, checkboxes, etc. in different ways. It has extensible facilities for validating inputs and converting objects to and from strings for display. JSF is the Java answer to Microsoft ASP.NET's Web Forms. ASP.Net is roughly equivalent to the Servlet and JSP
A mechanism for determining how events emitted by JavaServer Faces UI components are handled. This model is based on the JavaBeans component event and listener model.
A mechanism for converting between string-based markup generated by JavaServer Faces UI components and server-side Java objects.
A JavaServer Faces class that defines the behavior and properties of a JavaServer Faces UI component.
A simple expression language used by a JavaServer Faces UI component tag attributes to bind the associated component to a bean property or to bind the associated component's value to a method or an external data source, such as a bean property. Unlike JSP EL expressions, JavaServer Faces EL expressions are evaluated by the JavaServer Faces implementation rather than by the Web container.