What are the differences between application server and a servlet container?

In java world it is always confusing for the beginner to see application server and web server. It takes quite a while for many developers to know the differences between application server and web server. Most of the developers are familiar with web server but the concept of application server is not that common.

In many cases a project may use both application server and web server. The servlet-container or web container or web server container is the same thing in java web development. Following is the key differences between application server and servlet-container:

Web containerApplication server
Web container supports only java servlet APIApplication server supports the whole Java Enterprise Edition – EJB, JMS, CDI, JTA, the servlet API etc.

If we want to integrate java enterprise edition technologies to java servlet container then we need to install a standalone implementation of that technology.

Following is the comparison diagram of application server and web container: