Web applications are getting popular rapidly. The enabling technologies for supporting this trend are also evolved quickly, from Servlets to JSPs (JavaServer Pages) to JSFs (JavaServer Faces), just to name a few. The JSF framework not only promises server side GUI programming much more productive but also architecturally separates a web application software system into three layers: the presentation layer, the business logic layer, and the data layer. It changes a tightly coupled system into loosely coupled, which ensures functionality isolation and coherence as well as increases software reusability and maintainability. By going through example projects, this book demonstrates the essential JSF technology for modeling, designing, and implementing web applications with the NetBeans IDE in using the incremental development strategy. Readers should carefully read and thoroughly understand the example projects in order to learn the ideas and concepts embedded. The book is suitable for those readers who are interested in web applications and E-commerce systems, and can be adopted as a textbook for related courses.