JavaServer Faces is nothing but an application framework that is used to create user interfaces that are web based. JavaServer Faces are called as JSF in short. JavaServer Faces can be considered as a combination of the following two frameworks:
- Struts Framework – Struts is a popular open source framework for web applications that are JSP based
- Swing Framework – Swing is a famous java user interface framework that is intended to be used in desktop applications
JSF shares common features with Struts and Swing. Similar to Struts framework, JSF offers lifecycle management for web applications using controller servlet. Also, similar to Swing framework, JSF offers a component model that is rich and complete. This component model encompasses component rendering and event handling.
Competitor of JSF
Besides being considered as a combination of Swing framework and Struts framework, JSF is a direct competitor to Webforms of Microsoft. Both JSF framework and Webforms framework are very similar to one another in concept as well as implementation. Since JSF signifies a standard for Web application frameworks that are Java based, the tool vendors started concentrating on developing IDEs specifically for JSF rather than developing common IDE’s for all existing Web application frameworks (java based), including Struts framework.
Advantages of JavaServer Faces (JSF)
JSF makes the web-based application development much simple, easy and efficient. This is made possible because:
- JSF allows creation of user interfaces with the help of reusable and standard server side components
- JSF provides a pile of JSP tags that aids in accessing the server side components
- JSF saves the state related information transparently and aims at repopulating the forms when they are redisplayed
- JSF offers a framework using which custom components can be easily implemented
- With JSF, not just HTML but any markup language can be supported by JSF standard components and custom components
- JSF encapsulates component rendering and event handling
- JSF permits vendors to develop Integrated Development Environment (IDE) for a web application framework that is standardized