JavaServer Faces (JSF) is a great server side Java
technology in the field of web application development. JSF is developed by Sun
Microsystems.
It provides the event-driven, component-based technology and
simplifies building user interfaces for java server application. The JSF
specification defines a set of standard UI components and provides an
Application Programming Interface (API) for developing components and extensions
of the existing standard UI components.
Why JSF?
Let us first analyze why JSF is so hot these days. There are
reasons for development of new framework inspite of many already existing
technologies like JSP, Servlets, Structs, etc. There are some problems faced
while developing the complex web based application in JSP or Servlets. The
reasons are:
Tedious and repetitive coding - Previous technologies like
JSP make the programmer do a lot of tedious and repetitive coding.
Directly working with HTTP request and response - Using
these technologies, programmers directly work with HTTP request and response
objects and manipulate the data. But by using JSF and its components,
Actionlistener tags and event handler components can easily handle request
responses and validations are mostly done on the client side. For example, if the
user submits the registration form then the programmer writes the code to get
the values of each element in the form into a variable for further processing.
When there is a need to retrieve the data from the database and show on the
form for editing, then in this case the programmer writes the code to retrieve
the code from the database and then set the values in the forms.
Non availability of IDE - Non availability of IDE is another
major drawback which affects the programmers' productivity and also the development
cost of the project increases.