Apache server is a web server. Tomcat is a servlet container where servlet container is compiled , executable program. Browser connects to Apache, whether Tomcat contain what are connect from Apache to process. However, tomcat now includes a web server so you can cut out the middle man. You would not want to do this on a large environment process to produce you production. Here container work as a intermediary between web server and servlet in the servlet container.
When a request arrives, the container points the request to a servlet and passes request to produce response by translating into C++ objects. The container translates the response into the network format and send it back to the Web server.