I'm learning Apache Tomcat and reading book about Tomcat 6. The first chapter is about fundamental components included in Tomcat 6. The diagram of the hierarchy depicts basic components are accordingly Server, Service, Engine, Host, Context, and Apache web server requests connection via Engine, IIS via Host, Web Browser via Context. I interpreted this way because each valve is within the box each component level as mentioned earlier in this question.
There seems hardly the document or book about this diagram. When apache web server, IIS, and web browser request connection to Tomcat, is it processed by different component as the above?
Absolutely not.
Basically every request received by Tomcat:
CoyoteAdapter#serviceon the thread chosen to service the request,Engine,Host,ContextandWrapper(which represents a single servlet) components,FilterChain#doFiltermethod is called as in every servlet container.You can shed some more light on the process, by throwing an exception in a servlet and dissecting the call stack: