Hey guys, this is a one stop shop for all the related topics for Java Server Faces (JSF). Follow the tutorials in a proper order to get the most out of it.

What is Java Server Faces (JSF)?


  • It is a server side component based user interface framework
  • It is used to develop web applications.
  • It provides a well defined programming model and consists of rich API and tag libraries.
  • It is a Standard of Java Enterprise Edition (Java EE)
  • It is based on Model-View-Controller design pattern

Model-View-Controller (MVC)


As we discussed in the above, it is model-view-controller design pattern. To understand more about MVC design pattern, you can watch the following video

Benefits of Java Server Faces


  • It provides clean and clear separation between behavior and presentation of web application. We can write business logic and user interface separately.
  • Java Server Faces API’s are layered directly on top of the Servlet API.
  • Its a standard way of building web app UIs in Java
  • Leverage a set of reusable UI components
  • It help manage application state for web requests
  • It process the form data and add validations, conversions to it.

Third Party JSF UI components


Following are some of the third party JSF UI components

JSF Resources


You can find the official documentation, articles, tutorials on the following links

JSF Books


Following are some of the JSF books available on Amazon, you can purchase for further reading.

Required Software


We need the following software’s and tools to create JSF (Java Server Faces) web applications

  • Java Application Server – There are so many application servers available on the internet some of them are Tomcat, Glassfish, JBoss, WebLogic, WebSphere etc.,
  • Java Integrated Development Environment (IDE) – To develop JSF web applications we need Java IDE, some of them are Eclipse, STS, IntelliJ IDEA, NetBeans etc.,
  • JSF JAR files – We need JSF library in order to create JSF web applications
  • Database – We need Database to connect JSF web application to perform the database operations, some of the popular databases are MySQL, Oracle, PostgreSQL, MSSQL etc.,

Examples