Before you start
Get an introduction to Java™ Server Faces (JSF) technology, a server-side user-interface component framework for Java-based Web applications. This series is for developers who are new to JSF and want to come up to speed quickly — not just with JSF, but with using JSF components to reduce effort. This series covers just the essentials, with lots of examples.
JSF is a more-traditional GUI development environment like AWT, SWT, and Swing. One of its major benefits is that it makes Web development easier by putting the hard work on the framework developers, not the application developers. Granted, JSF itself is more complex than many other Web frameworks, but the complexity is hidden from the application developer. It is much easier to develop Web applications in JSF than in most other frameworks: it requires less code, less complexity, and less configuration.
If you are doing Java server-side Web development, JSF is the easiest framework to learn. It is geared for creating Web applications (not Web sites). It allows you to focus on your Java code without handling request objects, session objects, or request parameters, or dealing with complicated XML files. With JSF, you can get more things done more quickly than with other Java Web frameworks.
This tutorial picks up where Part 1 leaves off. If you are new to JSF or just want a refresher, then read the first installment before you begin this one. Even if you are an old JSF pro, there is likely a gem or two in that will help you out.
Although tool support is a main benefit of JSF, you won't use fancy tools or IDE support in this tutorial. This tutorial covers the essentials with just background information to keep the discussion going and to keep you productively learning to use JSF to build Web applications.
In this tutorial, continue getting an overview of JSF's features, and learn how to work with all of the JSF components. Build a simple contact-management application — a basic CRUD (create, read, update, delete) listing. After learning about the JSF application life cycle, improve the application with custom converters and validators. The tutorial winds down with a taste of some advanced JSF programming: create an object-level validation framework using a phase listener.
Who should take this tutorial?
If you are new to JSF, this tutorial is for you. Even if you have used JSF but have not tried out the JSF 1.2 features or have only used GUI tools to build JSF applications, you will likely learn a lot from both tutorials in this series.
This tutorial is written for Java developers whose experience is at a beginning to intermediate level. You should have a general familiarity with using the Java language, with some GUI development experience.
To run the examples in this tutorial, you need a Java development environment (JDK) and Apache Maven. It helps to also have a Java IDE. Maven project files and Eclipse Java EE and Web Tools Project (WTP) project files are provided. See Download to obtain the example code. Visit the author's companion site (see Resources) for additional information about how to run the examples.





