This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one for details.
Great to learn the basics, except for setting up you machine and such for jsf, I found it confusing in that first chapter. The rest is great though. Here is what I suggest to first get a handle on jsf and getting everythign setup: