An application server is able to run EJBs. For example WebSphere or
JBoss.
A web container is only able to run
servlets (not EJBs). For example,
Tomcat or the web container embedded in WebSphere.
A web server is only able to serve static content like images - no
Java apps at all. Apache Http Server is an example