Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Java EE 7 Web Application Development
Java EE 7 Web Application Development

Java EE 7 Web Application Development: Develop Java enterprise applications to meet the emerging digital standards using Java EE 7

eBook
$47.99 $53.99
Paperback
$66.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Java EE 7 Web Application Development

Chapter 2. JavaServer Faces Lifecycle

 

"No two people on earth are alike, and it's got to be that way in music or it isn't music"

 
 --Billie Holiday

Java has been a complete success in the server side for a long time: since the year 2000. Businesses have trusted the JVM, Java programming language, and abundance of frameworks as their platform of choice for enterprise software. So, are we correct in continuing to put our trust in the JVM as digital web engineers? I think the answer to that question, and because you are reading this book, is yes!

This chapter is an expansive overview of the JavaServer Faces (JSF) concepts. We will start with the history and purpose of JSF and how it relates to the fundamental design pattern: the Model-View-Controller (MVC). We will explore the life cycle concepts in JSF, which is one of the key concepts that separates it from the other Java web application frameworks. Moreover, we will examine some JSF code, including...

Introduction to JSF

JSF is a specification to build a web user interface from a component model. It encompasses a MVC and templating framework. JSF is a standard library of the Java EE platform. The Java Community Process (JCP) controls the specifications, and the current version is JSF 2.2, which is defined by Java Specification Request (JSR) 334 (https://www.jcp.org/en/jsr/detail?id=344).

Originally, the promise behind JSF was to bring rapid user interface development to server-side Java. This statement was true when JSF was first conceived; but of course, it is still useful if you would rather not write a lot of JavaScript code and hand crafted boilerplate so as to handle the transformation of an HTTP request to the Java invocations and back-to-page responses. Web technology and, in particular, digital development has leaped off the web pages since JSF 1.0 was conceived in 2004. Back then, JavaScript was not taken as a programming language so seriously as it is now; there was no responsive...

The MVC design pattern

The MVC design describes a set of design patterns that aim to separate the concerns of a user interface from the application logic that semantically binds them. The Model describes the business logic. The View denotes the presentation—the abstract surface that the user senses and also interacts with. The Controller denotes the component that handles the interaction between the model and view. The original idea of MVC stemmed from Trygve Reenskaug, who introduced the concept in the Smalltalk programming language during the 1970s. The pattern was subsequently implemented and popularized in the Smalltalk-80 before it was adopted in the wider software engineering community. MVC is famous for its ideas about the division of labor and the separation of responsibilities between the components.

We call it MVC patterns because the plural term describes a set of related derivatives of the classic pattern as group patterns.

The MVC pattern has subsequently evolved, giving...

Facelets

The JSF specification defines a View Declaration Language (VDL) to render the output of the pages. In JSF 1.0, this was JavaServer Pages; but in JSF 2.0, the VDL was changed to Facelets by default. Facelets are the default view handler for JSF 2.0 and are defined as XHTML files.

Facelets can be used in a templating situation. A Facelets file can reference a master template as a composition, and the view can provide the content that will look like a cookie cutter being supplied to the template. A Facelet that utilizes a reference template is known as a template client. The placeholder content in the template client will override the default content in the master template. In this way, Facelets can be reused in order to share the content. The template clients may become master templates and thus, a hierarchy of views can be derived.

Facelets also provide reuse by the custom tags. It is possible for engineers to write their own custom tags through the XHTML files and metadata. The designer...

The request processing lifecycle

JSF has a request-response processing lifecycle that is built around the HTTP protocol. JSF is built on top of the Java Servlet specification that takes care of translating the request user agent, which in the majority of the cases, is a web browser to a known endpoint. For JSF, the first port of call is javax.faces.webapp.FacesServlet. This servlet will simply dispatch the incoming request to the controller, and this component can elect to generate a response or delegate the output to the internal JSF controller implementation.

There are three circumstances for JSF in the request processing lifecycle. The first is the invocation to the JSF controller with a Faces request, which ultimately generates a Faces response.

The second is a request to retrieve a resource such as a CSS or JavaScript file or image or some other media file. However, a Faces resource request, which does not require the execution of logic, causes the JSF framework to furnish the output...

A basic JSF example

We have covered just enough theory on the JSF framework. I think it is time for my readers to see some code. The first code is the XHTML file to display a basic web page on a site. The source code is available on the book's website in the author's public GitHub account at http://github.com/peter_pilgrim/digital_javaee7.

Here is the XHTML source code for the initial Facelets view, and the file is called index.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core">

  <h:head>
    <title>Digital Java EE 7 - Sample JSF</title>
  </h:head>
  <h:body...

Introduction to JSF


JSF is a specification to build a web user interface from a component model. It encompasses a MVC and templating framework. JSF is a standard library of the Java EE platform. The Java Community Process (JCP) controls the specifications, and the current version is JSF 2.2, which is defined by Java Specification Request (JSR) 334 (https://www.jcp.org/en/jsr/detail?id=344).

Originally, the promise behind JSF was to bring rapid user interface development to server-side Java. This statement was true when JSF was first conceived; but of course, it is still useful if you would rather not write a lot of JavaScript code and hand crafted boilerplate so as to handle the transformation of an HTTP request to the Java invocations and back-to-page responses. Web technology and, in particular, digital development has leaped off the web pages since JSF 1.0 was conceived in 2004. Back then, JavaScript was not taken as a programming language so seriously as it is now; there was no responsive...

The MVC design pattern


The MVC design describes a set of design patterns that aim to separate the concerns of a user interface from the application logic that semantically binds them. The Model describes the business logic. The View denotes the presentation—the abstract surface that the user senses and also interacts with. The Controller denotes the component that handles the interaction between the model and view. The original idea of MVC stemmed from Trygve Reenskaug, who introduced the concept in the Smalltalk programming language during the 1970s. The pattern was subsequently implemented and popularized in the Smalltalk-80 before it was adopted in the wider software engineering community. MVC is famous for its ideas about the division of labor and the separation of responsibilities between the components.

We call it MVC patterns because the plural term describes a set of related derivatives of the classic pattern as group patterns.

The MVC pattern has subsequently evolved, giving rise...

Facelets


The JSF specification defines a View Declaration Language (VDL) to render the output of the pages. In JSF 1.0, this was JavaServer Pages; but in JSF 2.0, the VDL was changed to Facelets by default. Facelets are the default view handler for JSF 2.0 and are defined as XHTML files.

Facelets can be used in a templating situation. A Facelets file can reference a master template as a composition, and the view can provide the content that will look like a cookie cutter being supplied to the template. A Facelet that utilizes a reference template is known as a template client. The placeholder content in the template client will override the default content in the master template. In this way, Facelets can be reused in order to share the content. The template clients may become master templates and thus, a hierarchy of views can be derived.

Facelets also provide reuse by the custom tags. It is possible for engineers to write their own custom tags through the XHTML files and metadata. The designer...

The request processing lifecycle


JSF has a request-response processing lifecycle that is built around the HTTP protocol. JSF is built on top of the Java Servlet specification that takes care of translating the request user agent, which in the majority of the cases, is a web browser to a known endpoint. For JSF, the first port of call is javax.faces.webapp.FacesServlet. This servlet will simply dispatch the incoming request to the controller, and this component can elect to generate a response or delegate the output to the internal JSF controller implementation.

There are three circumstances for JSF in the request processing lifecycle. The first is the invocation to the JSF controller with a Faces request, which ultimately generates a Faces response.

The second is a request to retrieve a resource such as a CSS or JavaScript file or image or some other media file. However, a Faces resource request, which does not require the execution of logic, causes the JSF framework to furnish the output...

A basic JSF example


We have covered just enough theory on the JSF framework. I think it is time for my readers to see some code. The first code is the XHTML file to display a basic web page on a site. The source code is available on the book's website in the author's public GitHub account at http://github.com/peter_pilgrim/digital_javaee7.

Here is the XHTML source code for the initial Facelets view, and the file is called index.xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core">

  <h:head>
    <title>Digital Java EE 7 - Sample JSF</title>
  </h:head>
  <h:body>
    This is the simplest JSF example possible.

    <h:form>
      <h:commandButton...
Left arrow icon Right arrow icon

Key benefits

  • Build modern Java EE web applications that insert, update, retrieve, and delete customer data with up-to-date methodologies
  • Delve into the essential JavaScript programming language and become proficient with front-end technologies that integrate with the Java platform
  • Learn about JavaServer Faces, its lifecycle, and custom tags, and build exciting digital applications with the aid of handpicked, real-world examples

Description

Digital Java EE 7 presents you with an opportunity to master writing great enterprise web software using the Java EE 7 platform with the modern approach to digital service standards. You will first learn about the lifecycle and phases of JavaServer Faces, become completely proficient with different validation models and schemes, and then find out exactly how to apply AJAX validations and requests. Next, you will touch base with JSF in order to understand how relevant CDI scopes work. Later, you’ll discover how to add finesse and pizzazz to your digital work in order to improve the design of your e-commerce application. Finally, you will deep dive into AngularJS development in order to keep pace with other popular choices, such as Backbone and Ember JS. By the end of this thorough guide, you’ll have polished your skills on the Digital Java EE 7 platform and be able to creat exiting web application.

Who is this book for?

If you are a professional Java engineer and want to develop well-rounded and strong Java Web Development skills, then this book is for you.

What you will learn

  • Understand and apply updated JavaServer Faces key features including HTML5 support, resource library constructs, and pass through attributes,
  • Build web applications that conform to digital standards and governance, and leverage the Java EE 7 web architecture
  • Construct modern JSF Forms that apply validation, add AJAX for immediate validation, and write your own validators
  • Augment a traditional web application with JSF 2.2 Flow Beans and Flow Scope Beans
  • Program single page applications including AngularJS, and design Java RESTful back-end services for integration
  • Utilize modern web frameworks such as Bootstrap and Foundation in your JSF applications
  • Create your own JSF custom components that generate reusable content for your stakeholders and their businesses

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Sep 30, 2015
Length: 486 pages
Edition : 1st
Language : English
ISBN-13 : 9781782176657
Vendor :
Oracle
Languages :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Sep 30, 2015
Length: 486 pages
Edition : 1st
Language : English
ISBN-13 : 9781782176657
Vendor :
Oracle
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 170.97
Java EE 7 Web Application Development
$66.99
RESTful Java Web Services, Second Edition
$48.99
Test-Driven Java Development
$54.99
Total $ 170.97 Stars icon

Table of Contents

14 Chapters
1. Digital Java EE 7 Chevron down icon Chevron up icon
2. JavaServer Faces Lifecycle Chevron down icon Chevron up icon
3. Building JSF Forms Chevron down icon Chevron up icon
4. JSF Validation and AJAX Chevron down icon Chevron up icon
5. Conversations and Journeys Chevron down icon Chevron up icon
6. JSF Flows and Finesse Chevron down icon Chevron up icon
7. Progressive JavaScript Frameworks and Modules Chevron down icon Chevron up icon
8. AngularJS and Java RESTful Services Chevron down icon Chevron up icon
9. Java EE MVC Framework Chevron down icon Chevron up icon
A. JSF with HTML5, Resources, and Faces Flows Chevron down icon Chevron up icon
B. From Request to Response Chevron down icon Chevron up icon
C. Agile Performance – Working inside Digital Teams Chevron down icon Chevron up icon
D. Curated References Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.4
(8 Ratings)
5 star 62.5%
4 star 12.5%
3 star 25%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




SuJo Dec 02, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I've worked with Java EE in the past but wanted to get a book I felt would serve me well with brushing up on newer technologies such as HTML 5 integration with JFS. I felt the book was well laid out and didn't cover outdated technologies found in older books, which is to be expected. I was looking at this book for the AngularJS/REST portion and how it would tie into Java EE 7, and the MVC Framework was also designed rather well and gave me something to start working with for future projects, absolutely love the flow of the material and the author has a sound knowledge of Java EE 7. Highly recommend this book!
Amazon Verified review Amazon
ruben Dec 02, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Hello this is an excelent book it all the necessary to start the development programming using an important toolI really recommend this title it has all the necessary to begin your your first software development with Java.These are the main topics:Build modern Java EE web applications that insert, update, retrieve, and delete customer data with up-to-date methodologiesProgram single page applications including AngularJS, and design Java RESTful back-end services for integration
Amazon Verified review Amazon
Amazon Customer Mar 04, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very good book for a person who would like to have a review of modern technology applied in the field of web applications in Java.
Amazon Verified review Amazon
Alex Theedom Dec 04, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
It is everything I expected it to be. An excellently and well written book that guides you through the easy and tricky parts of web and Java EE development.You will discover what is needed to develop the frontend of a web app using JavaServer Faces, AngularJS to name a few. You will learn how to interact with REST endpoints and how AJAX improves user experience.Unlike many books it does not focus on only one technology it discusses alternatives such as jQuery, RequireJS and UnderscoreJS. Which allows you to make informed technology choices. It goes beyond the present and looks to the future of Java EE 8 and the up and coming MVC framework.The reference section details interesting topics relevant to the main discussion but that are normally considered 'beyond the scope' by other books, but not in this case. The author talks about agile performance and roles within a team, he talks about the request/response cycle in greater details and finishes with a very handy reference section.The author explains concepts with diagrams and code examples and finishes each chapter with exercises based on the topic of that chapter.I recommend this book for anyone interested in Java EE web development and for those moving from a Spring background.
Amazon Verified review Amazon
Lars Lemos Dec 04, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Such an amazing book.Started reading and got so much fascinated with the concepts and the approach used that completed chapters straight.In the introduction if you are not familiar with the Java EE 7,you may take as too much information about the platformBut as you read along you start to understand where the pieces fit together.From all the frameworks in the Java EE ecosystem, the main focus here is the JSF which is often used for Front-End Web Development.The book all the main concepts from the framework and how to achieve the necessary task in web development such as Build Forms, Validate data using AJAX,the possible application sequence flows and user interaction.All this concept takes into consideration use of HTML5.In order to integrate you application with nowadays front-end often developed with JavaScript Frameworks, instructions are included for AngularJS for Java RESTful Services.To my surprise, this books offers at the end of each chapter "Exercises" whichnot only serve to test your understanding of the chapter but further make youinspect the other possible options and put you on a Real world scenarion.As a cherry on top for the book, it contains the Java EE 8 MVC which is the latest(still under development) MVC framework.For who still not satisfied can use the Appendix that have a list of deeper reading references.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.