What Is a JavaServer Faces Application?
For the most part, JavaServer Faces applications are just like any other Java web application. They run in a servlet container, and they typically contain the following:
In addition to these items, a JavaServer Faces application also has
- A custom tag library for rendering UI components on a page
- A custom tag library for representing event handlers, validators, and other actions
- UI components represented as stateful objects on the server
- Backing beans, which define properties and functions for UI components
- Validators, converters, event listeners, and event handlers
- An application configuration resource file for configuring application resources
A typical JavaServer Faces application that is using JSP pages for rendering HTML must include a custom tag library that defines the tags representing UI components. It must also have a custom tag library for representing other core actions, such as validators and event handlers. Both of these tag libraries are provided by the JavaServer Faces implementation.
The component tag library eliminates the need to hardcode UI components in HTML or another markup language, resulting in completely reusable UI components. The core tag library makes it easy to register events, validators, and other actions on the components.
This chapter provides more detail on each of these features.