A Web server is a Servlet container.
Oh no its not. The purpose of a web
server is to handle HTTP requests and server
static content. A web(or servlet)
container is an environment which servlets can run in. A by-product of this is that a servlet container can also handle HTTP requests.
An Application Server is typically a bundling of other container components: which usually include a servlet container and an EJB container. There is nothing in the definition of an applicaiton sever which requirtes it to have these components (e.g. Netscape Application Server 4 is a Java Application server which cannot support either Servlets or EJB's. MS IIS is an application server which cannot support Java). However in the Java context an application server is usually summarized as Servlet Container & EJB container.
Examples of Web Servers include: Apache HTTP server
Examples of Web/Servlet Containers include: Tomcat
Examples of Application Servers include:
JBoss, Weblogic, Websphere.
I suggest you look at the resources available for these products on their sites to get a better handle on what they do an why you'd use them.