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 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.