JavaServer Faces JSF is a framework for building web-based user interfaces in
Java. Like Swing, it provides a set of standard widgets (buttons, hyperlinks, checkboxes, and so on), a model for creating custom widgets, a way to process client-generated events (like changing the value of a text box or clicking on a button), and excellent tool support. Since web-based applications, unlike their Swing cousins, must often appease multiple clients (desktop browsers, phones, PDAs, and so on), JSF has a powerful architecture for displaying components in different ways. It also has extensible facilities for validating input (like the length of a field) and converting objects to and from strings for display. Faces can also automatically keep your user interface components in sync with your business model objects.