Before closing or down-voting this question, please read it.
I've done a pretty big research over internet and have skimmed through 5 popular books from O'Reilly, Apress, PACKT, including both - books on Servlet API and books on Tomcat Server. I couldn't find anything valuable here as well.
The point for me is to clearly define in my head Tomcat Architecture in a bit lower level and coexistence of Servlet Container in it. I'm working with Java already almost a decade, so, I'm not looking into basics, but rather into some architectural points here. I'm looking for a crystal-clear definition and differentiation between Servlet Engine
, Servlet Container
, Web Container
, JSP Container
, Catalina
and Jasper
components.
There are several resources I could find, but to be honest, they're blunt and not ubiquitous in a way, that different articles, lectures and books define Tomcat Architecture differently.
One lecturer says, that Tomcat instance is a Web Server which holds different container components hierarchically organized - starting from Web Container, which in turn contains Servlet and JSP containers (Catalina and Jasper respectively);
Apache Tomcat 7 by Apress defines Tomcat Architecture like this:
Some lecturer from the popular University stated that Web Container
and Servlet Container
refer to exactly same thing, they're just synonyms;
Another lecturer from another yet very popular University stated that Web Container
is a root element and it contains child components Servlet Container/Engine
and JSP Container/Engine
.
I could go on and on with the cumbersome and contradictory definitions from different sources.. I just want to have a very clear picture of the Tomcat Architecture, what are the components there, which terms are synonyms (if there are any) and how they're laid down from architectural perspective.
Maybe any good books or references?.. any valuable answer would be much appreciated. I'm really excavating for this and still can't find anything.