HTML and CSS Reference
View , which is the rendering technology of JSF. The rendering technology defines the
page layout and content. The default rendering technology for JSF since its 2.0 version is
the Facelets XHTML (however, you still have the option to use JSP as the JSF rendering
technology, although it is not recommended).
You may wonder how the JSF runtime works in order to simplify the application development for the JSF developers,
and how the controller orchestrates the work with both the model and the view in JSF. Such questions will be answered in
the “JSF Life Cycle” section.
Developing Your First JSF Application
Now, it is the time to stop the theory for a while and start working with the JSF framework. Let's see how to develop
and run your first JSF 2.1 application.
Before going into the details of your first JSF 2.1 application example, I would like to mention that all of the
examples of this topic are based on the Apache Maven 3 software, version 3.0.4 , to perform the compilation and
the assembly of the compiled sources into a deployable Java EE WAR file. Maven 3 can be downloaded from
Apache Maven is a powerful build management tool. Every Maven project has a “project object model” file that
is called ( pom.xml ). The ( pom.xml ) file includes the project dependencies to compile and build the project into a
target artifact. In order to build a project, Maven gets the dependencies from the ( pom.xml ) file and then downloads
these dependencies on the local disk if they were not found on it; after this, Maven performs the compilation and the
assembly for the compiled sources into a target artifact. The target artifact for all of the examples in the topic is Java EE
web application WAR file. One of the powerful features of Maven is its strict structure for its applications, as shown
in Figure 1-3 .
Figure 1-3. The Maven project structure