I had two or three different JSP and/or servlet books but this book covers all of the topics. 1200 pages with lots of code examples and a useful reference. Better buy one book instead of a shelf of JSP/Servlet books that only cover things partly.
A truly "professional" book that can be read by beginners and experts. Just pick the chapters you need.
A good start for Jakarta Struts, although not based on the newest Struts version anymore. Even without Struts it explains how to use MVC-Patterns in detail and shows step-by-step how to combine JSP, servlets and JavaBeans to get professional solutions instead of simple page scripting.
One might use it for a start into the EJB world, too. There are two longer examples with and without EJBs.
But the focus of this book is certainly how to create well-structured web applications by using nearly all the technology available. Always critically considering which technology is best (or unnecessary) for certain parts of an application and how to put everything together.