JSF Interview Questions
- Who are the users of JSF technology?
JSF is that it has not only been designed for coding experts but for others also Page authors, Component writers etc. Because of integrating MVC model and flexible in its architecture JSF allows a wide range of users :
- Page authors :
Web designers have experience with graphic design. They can design look and feel of web application in html/jsp using custom tag libraries of JSF. - Application developers :
Application developers can integrate this design with UI components. They program objects, event handling, converters, validators.
- Component writers :
Component developer can build custom UI components because of JSF?s extensible and customizable nature. They can create their own components directly from UI component classes or extending the standard components of JSF. - Application architects :
Application architects are responsible for designing web applications. Defining page navigation, ensuring Scalability of application, configuring beans object registration are the key points that an application architect handles. - Tool vendors :
JSF is well suited for tool vendors, for example Sun Java Studio Creator application development tool, who provide tools that take advantages of JSF to create UI easier.
- Page authors :
- What are JSF releases?
JSF started its journey from version 1.0 and now it has come to its latest version JSF1.2. The listing of versions released so far is :
- JSF 1.2 (11 may 2006) - Latest release of JSF specification.
- JSF 1.1 (27 may 2004) - Bug fix release. No specification changes. No HTML renderkit changes.
- JSF 1.0 (11 mar 2004) - Initial release of JSF specification.
There are many releases of 1.1 and 1.2 and these are listed below showing released date also:
- 1.2_04 P01 (20 Mar 2007)
- 1.2_04 (5 Mar 2007)
- 1.2_02 (25 Aug 2006)
- 1.2_01 (14 July 2006)
- 1.1_02 (24 Apr 2006)
- 1.1_01
(07 Sep 2004)
-
How JSF Fits For Web Applications?
JSF has many advantages over other existing frameworks that makes it a better choice for Java web application development. Some of the reasons are below:
-
Easy creation of UI:
It makes easier to create complex UI for an applicaton using jsf tags.Its APIs are layered directly on top of servlet APIs that enables us to use presentation technology other than JSP,creating your own custom components and rendering output for various client devices. -
Capacity to handle complexities of UI management:
It handles cleanly the complexities of UI management like input validation, component-state management, page navigation, and event handling. -
Clean separation between presentation and logic:
One of the greatest advantage of jsf is to clearly separate behaviour and presentation in an application. JSF is based on the Model View Controller (MVC) architecture -
Shorter development cycle:
This separation between logic and presentation enables a wide range of users( from web-page designers to component developers). It allows members of team to focus on their own work only , resulting in division of labour and shorter development cycle. -
Standard Java framework:
JSF is a Java standard which is being developed through Java Community Process (JCP). Several prominent tool vendors are members of the group and are committed to provide easy to use, visual, and productive develop environments for JavaServer Faces. -
An extensible architecture:
JSF architecture has been designed to be extensible.Extensible means additional functionality can be given on the top of JSF core i.e. we can customize the functionality. JSF UI components are customizable and reusable elements. You can extend standard components and create your own complex components like stylish calendar, menu bar etc. -
Support for multiple client devices:
Component developers can extend the component classes to generate their own component tag libraries to support specific client. JSF flexible and extensible architecture allows developers to do so. -
Flexible rendering model:
Renderer separates the functionality and view of the component. So we can create multiple renderers and give them different functionality to get different appearance of the same component for the same client or different . -
International language support:
Java has excellent support for internationalization . It allows you to localize messages with user specific locale. A locale is a combination of a country, a language, and a variant code. Java Server Faces adopts this property and let you specify which locale your application supports. So you can display you messages in different languages. -
Robust tool support:
There are several standard tool vendors like Sun Java Studio Creator who provide robust tools that take advantages of JSF to create server side UI easily.
-
Easy creation of UI: