Training Course: Building Web Apps with JSF 2.0 (plus PrimeFaces)

August 20-24 2012, JHU Dorsey Center, Elkridge MD
Co-Sponsored by Johns Hopkins Engineering for Professionals


“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.”

more student reviews

This page describes the public (open enrollment) training course on Web application development with JavaServer Faces 2.0 to be held 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 has taught Java technology courses onsite for dozens of organizations in the US, Canada, Mexico, Australia, Japan, Puerto Rico, India, Cambodia, and the Philippines, all to rave reviews.

If you are looking for customized training courses on Java 6 or 7, JSF 2.0, PrimeFaces, Android, Ajax, jQuery, Hadoop, GWT, Spring, Hibernate, 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.0 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.0 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.0 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, it 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 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.0 training course August 20-24 at the Johns Hopkins Dorsey Center in Elkridge MD.

The course is developed and taught by Marty Hall, an experienced developer, award-winning instructor, popular conference speaker (5 times at JavaOne), and author of several bestselling Java books.

About the Instructor

Marty and Gosling @ Marty's car

Marty & Java inventor James Gosling at Marty's car.

Marty Hall is the author of six popular Java EE books, including Core Servlets and JavaServer Pages, 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. Marty is president of coreservlets.com, a training and consulting company focusing on server-side Java technology 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 J2EE, JSF 2.0, GWT, and Ajax topics in Japan, Canada, Australia, the Philippines, Mexico, Puerto Rico, India, Cambodia, and dozens of US venues. A popular and entertaining speaker, Marty has spoken at conferences and user groups around the world, including Comdex, the Web 2.0 Expo, the Great Indian Developer Summit, 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.

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 6, 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

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 $2395 per student and includes an extensive course notebook, a commercial textbook, exercises, exercise solutions, breakfast, snacks, and lunch. Compare this price to courses from Sun, Learning Tree, GlobalKnowledge, and Oracle University that cost around $2400 for four-day courses and $3000 for five-day courses 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 a week in advance and get a $50 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 now includes Ajax, composite components, page templating, and a PrimeFaces intro.

  • Review: Servlets, JSP, Web Apps, MVC, Eclipse
  • JSF 2.0 Overview, Big Ideas, Pros/Cons
  • Installation, Setup, Configuration, and Getting Started
  • JSF 2.0 Programming Basics
  • Managed Beans I
  • Managed Beans II
  • Explicit Page Navigation Control
  • The JSF 2.0 Expression Language
  • Properties Files, Messages, and I18N
  • Handling GUI Events
  • Integrated Ajax Support in JSF 2.0
  • 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