Chapter 1. Introducing JavaServer Faces
Over the last few years, Java has established itself as the leading
technology for web application development. Developers are using
technologies like servlets and JSP to develop scalable and robust
browser-based user interfaces for countless applications with great
success. But as web applications become more complex, some developers
are longing for the good ol' days of traditional
graphical user interface (GUI) frameworks with rich, powerful user
interface widgets and event-driven development models. Servlets and
JSP have served us well, but HTTP's stateless nature
and simple, coarse-grained request/response model forces application
developers using these technologies to struggle with details that are
handled behind the scenes by GUI frameworks like AWT/Swing, the
standard GUI framework for Java.
To make it easier to develop sophisticated web application user
interfaces, open source projects and commercial companies have
developed frameworks that mimic traditional GUI frameworks as far as
possible. Some notable examples are Enhydra's
Barracuda, Apache's Tapestry,
Oracle's UIX, and Sun's JATO. In
the spring of 2001, a Java Community Process (JCP) group was formed
with representatives from most of these efforts (including yours
truly) to come up with a standard solution that all frameworks can
use. The result is JavaServer Faces; the 1.0 version of the
specification was released in March 2004.
|