What is JSF?
In this section "What is JSF?" you will get detailed overview of JSF technology, which is ready to revolutionize the web application development process. JSF is complex system but you will be highly benefited by JSF technology. For example, you can easily make rich graphical Web application that can't be easily developed in HTML. Here we have tried to explain the JSF in easily understandable manner so that beginner can also understand easily.
What is JSF?
JSF is new standard framework, developed through Java Community Process (JCP), that makes it easy to build user interfaces for java web applications by assembling reusable components in a page. You can think of JSF framework as a toolbox that is full of ready to use components where you can quickly and easily add and reuse these components many times in a page and capture events generated by actions on these components. So JSF applications are event driven. You typically embed components in a jsp page using custom tags defined by JSF technology and use the framework to handle navigation from one page to another. Components can be nested within another component , for example, input box, button in a form.
JSF is based on well established Model-View-Controller (MVC) design pattern. Applications developed using JSF frameworks are well designed and easy to maintain then any other applications developed in JSP and Servlets.
JSF eases the development of web applications based on Java technologies. Here are some of benefits of using JSF:
JSF provides standard, reusable components for creating user interfaces for web applications.
JSF provides many tag libraries for accessing and manipulating the components.
It automatically saves the form data and repopulates the form when it is displayed at client side.
JSF encapsulates the event handling and component rendering logic from programmers, programmers just use the custom components.
JSF is a specification and vendors can develop the implementations for JSF.
There are many GUIs available these days to simplify the development of web based application based on JSF framework.
JSF includes mainly:
- Set of APIs to represent and manage state of components that helps server side validation, event handling, page navigation, data conversion etc.
- JSP custom tag library to create UI components in a view page.
The UI (user interface) created using JSF technology runs on server and output is shown to the client.
Goal of JSF is to create web
applications faster and easier. Developers can focus on
UI components, events handling, backing beans and their interactions
rather than request, response and markup. JSF hides complexities to enable
developers to focus on their own specific work.