|Home > Documentation > Developing > Tutorials > Developing Web applications > Developing JavaServer faces applications > Basics of JavaServer Faces|
This article will take you through the basics of Java Server Faces. Later we will have samples which will elaborate the features and functionalities of Java Server Faces.
Java Server Faces (hereafter JSF) is an event based development framework in Java EE 5 arena. It is a framework for building user interfaces for Web application.
JSF uses the existing user interface and Web tier mechanisms but it does not tie up the applications to a particular mark-up language, protocol and client device. It encapsulates various UI component functionality enabling it to render data to various client devices by developing required custom tags. JavaServer Faces technology provides a custom renderer and a JSP custom tag library for rendering to an HTML client, allowing developers of Java EE applications to use JavaServer Faces technology in their applications.
JSF follows a MVC architecture, Web application following MVC architecture are best developed using JSF.
Let us briefly understand what is a MVC architecture. Any Enterprise Application has a Business component, Presentation component and a Controller component. Usually small applications will have all the components tightly coupled with each other. Any change to one component will have an effect on others. As the size of the application increases it becomes more difficult and complex to debug and modify the application. So as to solve this problem we need to improve the architectural design of the application.
Model(M), View(V) and Controller(C) is one step forward towards improving the application design.
By following a MVC architecture there is a division of functionalities among Model, View and Architecture. This model has got the following advantages:
Coming back to JSF now, JSF technology clearly separates presentation logic from the application logic. Several development roles can be created and designated during the application development state. The JSF technology is developed through Java Community Process under JSR-127.
JSF has the following as the major components:
This completes what gives the basic idea on architectural design of JSF and the various components available with Java Server Faces.
JSF technology provides
Underlining samples will describe how MVC architecture and various components are being used in application development. Apache geronimo v2.2 uses Apache MyFaces v1.2.2 for JSF implementation.