An Engine is a Container that represents the entire Catalina servlet
engine. It is useful in the following types of scenarios:
- You wish to use Interceptors that see every single request processed
by the entire engine.
- You wish to run Catalina in with a standalone HTTP connector, but still
want support for multiple virtual hosts.
In general, you would not use an Engine when deploying Catalina connected
to a web server (such as Apache), because the Connector will have
utilized the web server's facilities to determine which Context (or
perhaps even which Wrapper) should be utilized to process this request.
The child containers attached to an Engine are generally implementations
of Host (representing a virtual host) or Context (representing individual
an individual servlet context), depending upon the Engine implementation.
If used, an Engine is always the top level Container in a Catalina
hierarchy. Therefore, the implementation's setParent() method
should throw IllegalArgumentException . |