Chapter 11. Servlet Collaboration
Servlets running together in the same server have several ways to communicate with one another. There are two main styles of servlet collaboration:
- Sharing information
This involves two or more servlets sharing state or resources. For example, a set of servlets managing an online store could share the store’s product inventory count or share a database connection. Session tracking (see Chapter 7) is a special case of sharing information.
- Sharing control
This involves two or more servlets sharing control of the request. For example, one servlet could receive the request but let another servlet handle some or all of the request-handling responsibilities.
In the past (before Servlet API 2.1) we would have listed another
style of collaboration: direct
. With this style of collaboration, a
servlet could obtain a direct reference to another through the
getServlet( ) method and invoke methods on the
other servlet. This style of collaboration is no longer supported;
getServlet( ) method has been deprecated and
defined to return
null for API 2.1 and later. The
reason: a servlet may be destroyed by the web server at any time, so
nothing but the server should hold a direct reference to a servlet.
Everything that could be done with
can be accomplished better and safer using the alternatives
we’ll learn about in this chapter.
Oftentimes servlets cooperate by sharing some information. The information may be state ...