This book is somewhat of an amalgamation between two other Apress books, "Beginning JSP 2: From Novice to Professional", and "Foundations of JSP Design Patterns", however there is more information in those two books in regards to their respective topics, and this book has much more detail in topics those other two books do not address.
While this book is designated for intermediate to advanced developers, it could be used as an all-in-one for a novice if they have decent Java knowledge and are able to read at a relaxed pace. I found chapter quality to be consistently good. The provided examples are useful and expertly selected (not too short, not too long).
Topics discussed include JSP page "anatomy", servlets, expression language, the standard tag library (JSTL), a surprisingly concise and well done chapter on JavaServer Faces (JSF), custom tag development both from a legacy and modern approach, data access, filtering, security, performance, scalability, web application design and best practices, and Struts.
The majority of topics are discussed in great detail. Some of the more detailed topics such as performance and scalability have as much detail as could be expected in a non-specialized book and at the very least provide you with information on where to learn more about the topic.
I have been working with JSP and JSF for 2 years and I found this book useful to fill in some knowledge gaps. I recommend it without reservation.