You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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.

Introduction: Java Server Faces(hereafter JSF) is an event based development framework in Java EE5 arena. It is a framework for building user interfaces for web application. JSF follows a MVC architecture and 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 the other. As the size of the application increases it becomes more difficult and complex to debug, 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.

  • Model handles data and logic of the application. It handles the business component of the application.
  • View takes care of the User interface. It handles the output of the application that has to be displayed to the user. It handles the presentation component.
  • Controller handles the input from user and modifies the model or view according to the user input. A controller selects the next view that has to be displayed on the basis of the user input and outcome of the model operations.

By following a MVC architecture there is a division of functionalities among Model, View and Architecture. This model has got the following advantages

  • Helps to reduce duplication in the code
  • Maintenance of the existing code becomes easier
  • Provides a central place to control all the user views- Controller
  • Any new user view can be added and later wired to the controller
  • Debugging the application becomes quite easier
  • Changes to the Model have a minimal effect on View and Controller

Coming back to JSF now, JSF has the following as the major component

  • No labels