JavaServer Faces, Web Applications Made Easier
By Mike Houghton
Introduction
The Java Community Process (JCP), in an effort to keep Java in
the forefront of Web Applications, has come up with a
specification called JavaServer Faces (JSF), which attempts to
standardize the way we develop Java Web applications and
provides a set of rich ready-to-use UI components. In this
article, I'll try to discuss the JSF technology, what's wrong,
what's right and why it's necessary.
Lets start by taking a look at what JavaServer Faces is and
what it can do for you.
Getting Started
To begin, JavaServer Faces (JSF), also known as JavaServer
Release 127 (JSR 127) is a user interface framework designed to
aid in building Java-based web applications. These applications
will run on the server side of the process and will render the
user interface side back to the client. The client interface
portion runs on the server and not the client and yet JSF
responds to events generated on the client side.
You can think of JSF as a combination of Struts (an open source
JSP-based framework application) and Swing (the standard Java
framework application). However JSF is not a replacement for
Struts or Swing. In fact JSF has been designed to work quite
well with both.
Below is a quick summary of the six main areas that JSF either
improves on or now offers for Java developers:
- It will allow developers to create user interfaces from a
set of standard, reusable server-side components.
- It provides a set of JSP tags to access server-side
components.
- It encapsulates event handling and component rendering so
that developers can use standard JSF components or custom
components that support markup languages other than HTML such as
Norpath or XWT.
- It transparently saves the state information and
repopulates the forms when they redisplay.
- It now allows tool vendors to develop IDEs for a more
standard Web application framework.
- It also provides the
framework for implementing custom components.
JSF is very efficient, handling HTTP requests in only seven
distinct phases. To help understand the flow of information,
take a look at the chart below.
The process of control is shown with solid lines and the dashed
lines show the alternate flow allowing for a page redisplay and
validation request or in the event of a conversion error.
There are several other components involved, however these
are the key elements to this process. As you can see, what makes
it different from other servlet/JSP applications is that JSF has
an event-driven nature versus being JSP-centric. This is an
important characteristic of a JSF application.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|