Web Container / Servlet Container / Servlet Engine :
- In J2EE Architecture, a web container(also known as servlet container or servlet engine), is used to manage the components like servlets , JSP.
- It provides a runtime environment to the components of J2EE.
- When ever web server receive a request it forward it to web container which deals with it by instantiating, initializing and invoking Servlets and JSP pages. So,basically it controls the whole life cycle of servlet and JSP.
- It is a part of the web server.
- Example: Apache Tomcat.
Web Server / HTTP Server :
- It is a server which is capable of handling HTTP request send by a client and respond back with a HTTP respond .
- Example: Apache Web Server.
Application Server / App Server :
- It can handle all application operations between users and an organization's back end business applications or databases.
- It's for complex transaction-based application.
- It is frequently viewed as part of a three-tier application, where top-most tier is Presentation tier(GUI layer), then the Logic tier(an Application Server) and Data tier(consist of database server).
- Example: IBM — WebSphere Application Server.