The instructor was an excellent. I thought he was well spoken, thorough, and down to earth so to spe... More Testimonials »

JavaServer Faces Training

Delivery Options

Class Description

Class Overview

This course introduces the JavaServer Faces API for Java Web application development. Proceeding from a foundation of Java, Servlets, and JSP, the course develops the best-practice concepts of MVC architecture and command-object encapsulation that propel the JSF architecture. Students create JSF Web applications by organizing their pages as JSF component trees, and their server-side code as JSF managed beans and controllers. They add data-conversion and validation logic and learn to work with JSF's data-table control.

Class Goals

  • Understand the purpose and scope of the JSF architecture
  • Build Web applications using JSF's FacesServlet, faces-config.xml, and the JSF request/response lifecycle
  • Use the JSF custom tag libraries to build JSF views as JSPs.
  • Use managed beans to encapsulate not only server-side form handling but also client-side presentation logic
  • Implement control logic as JSF event listeners or action methods.
  • Use validators and converters to implement a validation phase for a JSF application

Class Outline

  1. Overview
    1. Java EE and Web Applications
    2. Perspectives: Servlets and JSP
    3. The Model/View/Controller Pattern
    4. Perspectives: MVC Frameworks
    5. The Command Pattern
    6. Perspectives: AWT and JFC
    7. JSF Value Proposition
    8. JSF Configuration
  2. Lifecycle and Page Navigation
    1. The JSF Request/Response Cycle
    2. Lifecycle Phases
    3. The FacesContext Class
    4. Who Does What
    5. View Selection
    6. Navigation Rules
    7. Outcomes
  3. User Interface Components
    1. The Composite View Pattern
    2. The UIComponent Class
    3. Behavioral Interfaces
    4. The Core and HTML Tag Libraries
    5. Relationship to CSS
    6. ID, Client ID, and Label
    7. The UISelectItem(s) Class
    8. Navigating the UI Tree
  4. Managed Beans
    1. JavaBeans and JSF
    2. Backing Beans
    3. The Factory Pattern
    4. Managed Beans
    5. Coarse-Grained Beans
    6. The Unified Expression Language
    7. Value Expressions
    8. Dependency Injection
    9. Bean Scopes
  5. Events and Controllers
    1. The Observer Pattern
    2. JSF Event Model
    3. Event Types and Timing
    4. Event Queueing
    5. ActionEvent and ActionListener
    6. Action Methods
    7. Connecting Controllers to Beans
    8. Dynamic Outcomes
    9. ValueChangeEvent and ValueChangeListener
    10. Limitations of FacesListeners
  6. Converters
    1. The Adapter Pattern
    2. The Converter Interface
    3. Standard Converters
    4. Working with Enumerated Types
    5. Timing of Conversion
    6. Custom Converters
    7. Configuring Converters
  7. Validators
    1. Validating Input
    2. The Validator Interface
    3. Standard Validators
    4. Producing Error Messages
    5. Message Keys
    6. Presenting Error Messages
    7. Custom Validators
    8. Validating Multiple Inputs
    9. Using a PhaseListener
  8. Data Tables (Optional)
    1. Managing Tabular Data
    2. The JSF Data Table
    3. Columns
    4. Facets
    5. Limitations and Strategies
    6. Nesting Tables

Class Materials

All students receive a course manual or book and all the class examples.

Students in private onsite classes will also receive:

Class Prerequisites

Experience in the following areas is required:

  • This course is intended primarily for experienced Java application developers. Page authors, component developers, and others who may have little or no Java experience (but perhaps are stronger on HTML and JSP) may well find this to be a valuable training experience, though without solid Java skills many of the coding exercises will be difficult to follow.
  • Java programming experience is essential to understanding the JSF API as presented here
  • JSP page-authoring experience is required
  • Servlets programming experience is recommended but not required
  • Basic knowledge of XML will be helpful, as will any previous experience with HTML.

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.


  • Java ®, all Java-based marks, Hibernate ®, and all Hibernate-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries.
Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Training Classes
Locations
Live eLearning

Like a class you would go to, but you don't have to go anywhere. More...

Customized Onsite Training

The trainer comes to you and delivers a class customized for your team. More...

Self-Paced eLearning

Our least expensive option. You proceed through the course entirely at your own pace. More...

Reference Library
Partner Programs
© Webucator, Inc. All rights reserved. | Toll Free: 877-932-8228 | UK: 0808-101-3484 | From outside the USA: 315-849-2724| Fax: 315-849-2723