While Tomcat is one of the most popular servlet containers, its inner workings still remain a mystery to many developers. If you only have a superficial familiarity of how this container actually functions, much of its power remains untapped and underutilized. This book will provide you with all that you need to undertand how to effectively use Apache Tomcat.
This book begins by providing detailed instructions on building a Tomcat distribution. The next few chapters introduce you to the conceptual underpinnings of web servers, the Java EE and servlet specifications, and the Tomcat container. Subsequent chapters address the key Tomcat components, taking care to provide you with the information needed to understand the internal workings of each component. Detailed examples let you walk through a Tomcat installation, stepping into key Tomcat components, as well as into your own custom servlets.
During the course of the book you will encounter various structural components such as the Server and Service; containers such as the Engine, Host, Context, and Wrapper; and helpers such as the Loader, Manager, and Valve. You will also see how Tomcat implements the JNDI API to provide both a directory service for storage agnostic access to its resources, as well as a naming service that implements the Java EE Environment Naming Context.
Along the way you will learn how various elements of the servlet 2.5 specification, as well as the HTTP RFCs are implemented by a servlet container. By the end of your journey, you will have acquired specialist grade skills in a range of technologies that contribute to the arena of Java server side development. You will then be able to count yourself as part of the elite minority of Java EE web developers who truly understand what goes on under the covers of a servlet container.
What you will learn from this book
- Obtain an in-depth view of the inner workings of one of the most successful open source projects of all time.
- Discover the touch points between the Java EE platform specifications and a servlet container's implementation.
- Learn how to extract the most out of your Tomcat installation by understanding how its various components are implemented.
- Use standard development tools such as Subversion, and Ant, and Eclipse to build a Tomcat distribution from its source code.
- Execute Tomcat from inside the Eclipse IDE to watch the various components cooperate in processing a request.
- Acquire specialist grade skills in a range of technologies and protocols that contribute to Java server side development.
- Learn advanced software techniques such as building a custom class loader, implementing a custom protocol, and implementing JNDI-based naming and directory services.
- Explore some of the performance optimizations and design patterns used in building highly scalable and performant software.
This book taps into the author's wide experience as an architect and programmer to explore Tomcat from the ground up. Each major component of Tomcat is covered in careful detail, both from a conceptual and an implementation perspective. Written with detailed explanations and lots of screenshots, the book covers its topics in a concise, practical, and understandable manner.
Who this book is written for
This book is intended for web developers who want to take their programming skills to the next level, and for server administrators who want to get a better understanding of the container software they manage.
This book will give you an expert's understanding of every component that contributes to the overall request processing capabilities of Tomcat. In addition, the concepts you learn will be general enough to be carried over to other servlet containers.
This book is also a good starting point for developers who want to understand how high availability and high performance software, such as Tomcat, are designed.
If you wish to contribute to the Tomcat project, then this is an ideal book for you.
Prior knowledge of the Java programming language, and web development on the Java platform is assumed.