As you would've found out by
searching as I suggested, they differ by the technologies they support. Web servers support static content such as HTML pages and images, and some dynamic technologies such as CGI and PHP -- they have nothing to do with
Java. Web containers support a subset of J2EE technologies such as Java Servlets and JavaServer Pages. Application servers include a web container and a lot of other services, including an Enterprise JavaBeans container.