I assume that the readers of this book have experience with HTML; consequently, I don’t explain the standard HTML elements used in the examples. If you want to learn more about HTML, I recommend HTML and XHTML: The Definitive Guide by Chuck Musciano and Bill Kennedy (O’Reilly Media, Inc.). But even if you’re an HTML wiz, this may be your first exposure to web applications. I have therefore included a thorough introduction to the HTTP protocol that drives all web applications.
I also assume that you’re a programmer familiar with Java programming and object-oriented concepts. If that’s not the case, you must learn Java before you continue reading this book. There are plenty of introductory Java books available, for instance Head First Java (O’Reilly) by Kathy Sierra and Bert Bates, and Learning Java (O’Reilly) by Patrick Niemeyer and Jonathan Knudsen.
The JSF specification builds on the Java Servlets specification and supports using JSP for page layout. I’ve included an introduction to both these technologies, enough for you to understand the examples. Before you develop any large, real-world application, though, I recommend that you learn more about these technologies. My own JavaServer Pages (O’Reilly) and Java Servlet Programming by Jason Hunter and William Crawford (O’Reilly) are two good books for these subjects.