This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Howdy -- Apache is a web server, whose primary responsibility is to respond to HTTP requests (like GET (some file))
But to run servlets/JSPs, you also need a web "container", and that's what Tomcat does. Tomcat supports servlets and JSPs, and is also a very weak web server, but for the real world, you would normally configure Tomcat into the Apache web server as a "plug in". Then the powerful Apache web server accepts the HTTP requests, while using Tomcat to deal with the servlets/JSPs.
Apache alone -- powerful HTTP web server
Tomcat alone -- web container, with a very limited HTTP web server
Apache with Tomcat -- a powerful web server that supports servlets and JSPs