Until I bought this book I had an agreement with Tomcat. Tomcat would serve my servlets like it was supposed to and I wouldn't try to pull any stunts. If I ran into something that wasn't working because of some setting or another in Tomcat, I avoided it. Now that I have this book, the agreement is off. This book is chock full of neat and useful tricks with some excellent examples. The book is very well written in true O'Reilly style (They even found a way to use the word "laconic" which I have never seen used in a computer book before). It illuminated various things I was unaware of, such as:
** How to run the web based Tomcat admin application
** Tomcat restart issues - this was especially interesting and gets to the heart of what java and tomcat really are.
** How to enable Tomcat's SSI servlet so that it will use your existing server-side includes
The book has lots of hints of the "I know how to do this in Apache httpd, but how do I do it in Tomcat?" variety. This is in addition to an entire chapter devoted to connecting Tomcat to Apache httpd.
The subject of a java web server will automatically bleed over into the subjects of Java and Unix and the book does a great job exposing the timid to Unix and Java concepts that help in understanding these technologies. For example, the book gives detailed instructions for setting up a chroot jail on a Unix type system.
I read the chapter on security several times because it is really foundational. It gets at the excellent security abilities of Java and explains them better than I have seen them explained elsewhere. It also gives the basics of possible vulnerabilities of any web application. The stuff in this section applies broadly to any Servlet container, but has a lot of specifics for Tomcat.
Obviously, all of the stuff in the book is available from the Java, Unix, or Tomcat documentation, but the book acts as a guide, pointing out key things in the documentation.
The only limitation of the book that I could tell was that the authors are exclusively from a Unix background. This has the result of making the book slanted towards Linux/Unix. There are a couple of things that the authors show how to do on Unix but leave the impression that there is no way to do it on Windows. For example they say, "Unix type operating systems, run netstat from the command line to see the open ports. You can do this on Windows as well. They also give a Unix shell script that organizes log files so that they look like Apache httpd log files. It would have been nice to offer one for windows as well or at least give a hint for how to do so. A lot of people use Tomcat on windows as a development environment and they should not be ignored.
In summary, the book succeeds in both broad concepts that deal with running any java web server and in exposing the finer details of Tomcat in particular. Another reviewer asked if this was really "Vital Information for Tomcat Programmers and Administrators" as the subtitle says. I would say yes. You get details of programming Tomcat through the configuration files and crucial details for how Tomcat settings affects how your servlets behave. Perhaps they are asking about messing around with the source code of Tomcat? Then no, it is not about programming Tomcat in that sense.