how does tomcat 'know' what goes to the container and what doesn't ?

When a request comes in, how does tomcat 'know' it's for the web container ?
how does it decide to that it should send it to the web container ? if I have a servlet with url-pattern the same as an available html page,
how does it decide what to do ?

Can tomcat have multiple webcontainers ? and of course then comes the question: how does it know what to send to what ?

I'm a bit confused on this (but havn't finished the book yet ,perhaps they'll talk about it later?)

I think I know the difference between the web container and a webserver.
What did I say that didn't make sence to you ?

How I understand it:
The web server accepts the connection, "looks" if it is just a simple static get and it can serve it.
If not it forwards it (over socket) to the web container who handles it and sends back the reply.
This brings me back to my question, how does it know if it is for the container or not, and say it has a CGI container also,
how does it know where the request has to go ?