If I am given a war file that contains a Java web application, and I want to run that war locally, then do I just need Tomcat, or do I need Tomcat and Apache httpd (or any other web server)? Thanks in advance!
Tomcat is a web server of its own, so a separate web server like Apache is not required. You probably will want to change Tomcat's port though, since it defaults to 8080 and web sites are usually on port 80.
I think people generally put Apache in front of Tomcat so they can do things like:
I'd recommend the YAGNI approach and just go with Tomcat until/unless you find a reason you want Apache in front of it.