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 manipulation . 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; the 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 getServlet( ) can be accomplished better and safer using the alternatives we’ll learn about in this chapter.

Sharing Information

Oftentimes servlets cooperate by sharing some information. The information may be state ...

Get Java Servlet Programming, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.