They identified the servlet that came from the JSP, changed the server startup script to allow remote debugging, and connected on the fly. It seemed to work well. Well, you have various mechanisms for sharing data. You can also share data using the HttpSession if the data is specific to a client. You can, in principle, even use static methods and singleton classes.
Most people reserve that for things like database connection pools.
BTW, I have examples of all of these approaches in Core Servlets and JSP , and all the source code is online . This prevents the servlet context from being used as a distributed shared memory store. If information needs to be shared between servlets running in a distributed environment, that information should be placed in a session, a database, or in an Enterprise JavaBean TM . My read of the spec is that session objects are required to be distributed. Furthermore, application servers like BEA WebLogic do , in practice, make them accessible across machines in a distributed-server environment.