Building Web Apps with JSF 2.2 & PrimeFaces

November 10-14 2014, JHU Dorsey Center, Elkridge MD
Co-Sponsored by Johns Hopkins Engineering for Professionals
JHU/EP Logo


This page is about the public JSF 2.2 course to be held in Maryland. For customized onsite classes, please see the JSF training page.

“Wonderful. In 20 years, this is the best organized, most pragmatic and enjoyable course I've taken.”

“The best instructor-led course I have attended, by far.”

“Best short course ever!”

“Compared to the other short courses I have taken, this one completely redefined my scale from 1-10.”

“In my 35+ years of taking technical courses, Marty's classes consistently come out ranking #1 on my list. Highly relevant material is delivered with enthusiasm, humor, and a high degree of class interaction that is unmatched anywhere.”

more student reviews

JSF Logo This page describes the public (open enrollment) training course on Web application development with JavaServer Faces 2.2 to be held November 10-14 2014 at in Elkridge, MD (co-sponsored by the Johns Hopkins University Engineering for Professionals program). The entire course is personally developed and taught by leading Java developer, speaker, and author Marty Hall. No contract instructor regurgitating someone else's materials! Marty is the co-author of the upcoming JSF 2.2 edition of Core JSF, from Prentice Hall and Oracle Press, and he has taught Java technology courses onsite for dozens of organizations in the US, Canada, Mexico, Australia, Japan, Norway, Puerto Rico, India, Cambodia, and the Philippines, all to rave reviews.

If you are looking for customized training courses on Java 7 or 8, JSF 2, PrimeFaces, Android, Ajax, jQuery, Hadoop (and Hadoop cerfication), GWT, Spring, Hibernate, Servlets, JSP, HTML5, or RESTful Web Services taught on-site at your company, please see this page.

Register Early! Five of Marty's previous public short courses were full, so reserve your spot today. Registrations are taken in the order they are received.


Course Overview

Given the requirements of many or even most modern systems, servlets and JSP are simply too low-level: a higher-level framework is needed. Of the major Java-based Web application frameworks (JSF, Struts, SpringMVC, Wicket, etc.), only JSF is part of the official Java EE standard. However, JSF 1.x was a mixed blessing. On the one hand, it was backed by Sun, Oracle, IBM, and Apache, and had several good features. Most importantly, it had a component API that resulted in a large and rich set of third party component libraries (RichFaces, IceFaces, PrimeFaces, Tomahawk, ADF, Woodstock, etc.). However, for ordinary developers, JSF version 1 was hard to use, tedious to configure, difficult to extend, and limited in power.

JSF 2 is a dramatic improvement in almost every way.

  • Easier. It is much simpler to use, borrowing "configuration by convention" ideas from SEAM, Ruby on Rails, and similar libraries. Many tasks can be performed with simple annotations and conventions, with no editing of faces-config.xml.
  • More powerful. JSF 2 has many new features including a more concise way to output values, much more debugging help, new bean scopes, more and better validators, support for conditional navigation, and the ability to bookmark results pages.
  • Third-party component libraries. The component libraries for JSF have continued to improve. This course covers the input elements of the popular PrimeFaces library.
  • Integrated Ajax support. Taking a cue from Ajax4jsf and AjaxTags, JSF 2 has easy-to-use tags that enable Ajax functionality.
  • Based on Facelets. The popular Facelets library is now the default way to produce JSF pages. This provides simpler and more consistent syntax, and page templating (better than Tiles!) is built right in.
  • Composite components for mere mortals. The API provided by JSF 1.x was very powerful for vendors making component libraries, but far too complex for ordinary JSF developers. The new Facelets-based approach is dramatically simpler, making composite components a standard part of every JSF developer's toolkit.
  • Free and portable. Although JSF 2.0 is part of the Java EE 6 specification and JSF 2.2 is part of the Java EE 7 spec, they can easily be used in existing servers. Our class will use Tomcat, but the applications can be deployed to any Java server that supports servlets 2.5 or later.

Marty normally runs on-site JSF and PrimeFaces training courses at customer locations. This is easier administratively, is better for clients since the topics and schedule can be customized, and is more cost effective for students since no travel is required. However, due to demand from those who do not have enough students for an on-site course, Marty will be a running public (open enrollment) JSF 2 training course at the Johns Hopkins Dorsey Center in Elkridge MD.

About the Instructor

Marty Hall Marty Hall is president of coreservlets.com, a training and consulting company focusing on server-side Java technology, Android development, and Rich Internet Apps with Ajax. In addition to long Java development and consulting experience, Marty has an extensive background in teaching and training, having given training courses on Java 7, Java 8, JSF 2, PrimeFaces, Android, Ajax/jQuery, and other Java EE topics in Japan, Canada, Australia, the Philippines, Mexico, Puerto Rico, India, Cambodia, Norway, and dozens of US venues. He has taught onsite at Google (both the Mountain View and NY offices), the NSA, the CIA, General Dynamics, Northrup Grumman, General Motors, VeriSign, Symantec, the Federal Reserve Bank, Comcast, Hewlett Packard, Fannie Mae, Learjet, the US Navy, the Australian Treasury Department, Telenor Norway, and dozens of other organizations around the world. (A more extensive list can be found on Marty's bio page.)

JavaU @ JavaOne

A popular and entertaining speaker, Marty has also spoken at conferences and user groups around the world, including Comdex, the Web 2.0 Expo, and five times at JavaOne. Marty is also adjunct faculty in the Johns Hopkins University part-time graduate program in Computer Science, where he directs the Java and Web-related concentration areas.

Marty Hall is also the lead author of six popular Java EE books, including Core Servlets and JSP, and is the co-author of the upcoming JSF 2.2 edition of Core JSF.

  • Core Servlets and JSP is the all-time worldwide bestselling servlet/JSP book, published in Bulgarian, Chinese Simplified Script (Mainland China), Chinese Traditional Script (Taiwan), Czech, Greek, English, French, German, Hebrew, Japanese, Korean, Macedonian, Polish, Portuguese, Russian, and Spanish.
  • Core JSF is widely recognized as the leading text on Web App development with JavaServer Faces.
  • In addition be being best sellers in industry, Marty's books have been widely used in academia (including Stanford, MIT, Princeton, U.C. Berkeley, UCLA, Johns Hopkins, and dozens of others).

For more details, please see the Marty Hall bio.

Prerequisites

The course consists of an approximately equal mixture of lecture and hands-on lab time. The course assumes that all students already have at least moderate previous Java experience, but not necessarily any experience with previous JSF versions. Although the course will use Java 7, previous experience with earlier Java versions is sufficient. However, the course will definitely move too fast for those with little or no previous experience with Java. Working knowledge of HTML is helpful but not absolutely required.

Venue

JHU/EP Logo The course will be held at the Johns Hopkins Dorsey Center in Elkridge, Maryland. This is a modern, comfortable venue with separate computers for each student, fast internet connections, and with coffee, snacks, and meals included. Class meets from 8:30 am to 4:30 pm daily. For students who prefer to bring their own laptops, fast wifi is available, and you can email the instructor for information on installing the class software in advance.

For Maryland residents, the location is centrally located 5 minutes from BWI airport and has plenty of free parking. For out-of-town students, there are many hotels within 1 mile.

Registration

The five-day course costs $2695 per student and includes an extensive course notebook, a commercial textbook, exercises, and exercise solutions. Free breakfast, snacks, and lunch. Compare this price to courses from Learning Tree, GlobalKnowledge, and Oracle University that cost $3500-$4200 for five-day courses and $2800-$3000 for four-day courses and that do not include textbooks or meals. Besides, those courses almost always use an unknown instructor who did not develop the course materials and often lacks significant real-world development experience.

To register, fill out and send in the course registration form. Space is limited: five previous offerings of coreservlets.com courses were full. Bonus: Register at least two weeks in advance and get a $100 gift certificate from amazon.com.

Questions and More Info



  • Guinea pigs? No! Marty's courses are well-tested, having been taught in 8 countries and dozens of US venues. We don't use your developers as guinea pigs for new materials.
  • Regurgitation? No! Marty developed all his own materials. No contract instructor regurgitating memorized PowerPoint slides.
  • Green? No! Marty is an experienced developer, and is the author of 6 popular Java EE texts from Prentice Hall. The course gives best practices and real-world strategies. No newbie instructor dodging tough questions.

Syllabus

Course includes JSF 2.2 (including Flow Scope), Ajax, composite components, page templating, and an introduction to PrimeFaces.

  • Review: Servlets, JSP, Web Apps, MVC, Eclipse
  • JSF 2.2 Overview, Big Ideas, Pros/Cons
  • Installation, Setup, Configuration, and Getting Started
  • JSF 2 Programming Basics
  • Managed Beans I
  • Managed Beans II
  • Explicit Page Navigation Control
  • The JSF 2 Expression Language
  • Properties Files, Messages, and I18N
  • Handling GUI Events
  • Integrated Ajax Support in JSF 2
  • Validating User Data
  • Handling Variable-Length Results Data: ui:repeat
  • Data Tables
  • Page Templating with Facelets
  • Building Composite Components
  • View Parameters, GET Requests, and Bookmarking
  • PrimeFaces and Custom Component Libraries: Overview, Comparisons, and Setup
  • PrimeFaces Input Elements