# The Java EE 7 Tutorial

# 16 Configuring JavaServer Faces Applications

The process of building and deploying simple JavaServer Faces applications is described in earlier chapters of this tutorial, including Chapter 6, "Getting Started with Web Applications," Chapter 8, "Introduction to Facelets," Chapter 13, "Using Ajax with JavaServer Faces Technology," and Chapter 14, "Composite Components: Advanced Topics and an Example." When you create large and complex applications, however, various additional configuration tasks are required. These tasks include the following:

- Registering managed beans with the application so that all parts of the application have access to them

- Configuring managed beans and model beans so that they are instantiated with the proper values when a page makes reference to them

- Defining navigation rules for each of the pages in the application so that the application has a smooth page flow, if nondefault navigation is needed

- Packaging the application to include all the pages, resources, and other files so that the application can be deployed on any compliant container

The following topics are addressed here:

- Using Annotations to Configure Managed Beans

- Application Configuration Resource File

- Using Faces Flows

- Configuring Managed Beans

- Registering Application Messages

- Using Default Validators

- Registering a Custom Validator

- Registering a Custom Converter

- Configuring Navigation Rules

- Registering a Custom Renderer with a Render Kit

- Registering a Custom Component

- Basic Requirements of a JavaServer Faces Application