Book Image

Tomcat 6 Developer's Guide

Book Image

Tomcat 6 Developer's Guide

Overview of this book

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 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.
Table of Contents (17 chapters)
Tomcat 6 Developer's Guide
Credits
About the author
Acknowledgement
About the reviewers
Preface

Examples


The following servlets demonstrate the servlet and wrapper mechanisms.

Servlets

These servlets build on the example created for the last chapter. As a result, you should simply include the following classes, static files, and declarations in the example from the preceding chapter.

Note

Do check out the 'Request Info' servlet from the examples web application at http://localhost:8080/examples/servlets/servlet/RequestInfoExample. This is an example of wildcard-based matching, and you can experiment with it by providing additional information at the end of the request URI. For example, http://localhost:8080/examples/servlets/servlet/RequestInfoExample/path/info.

Declaration

The following servlet elements are added to the web deployment descriptor to enable our new servlets:

<servlet>
<servlet-name>GreetingForwarder</servlet-name>
<servlet-class>
com.swengsol.ForwardingServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GreetingForwarder...