Os artefatos do JEE, como JSP / servlets / EJB, são executados em um contêiner. O JEE define diretrizes rígidas sobre o que é um contêiner e como ele deve se comportar.
Por exemplo, o tomcat é um contêiner de servlet. contêiner de servlet ou, para esse fim, qualquer contêiner fornece os artefatos correspondentes a serem executados.
O Tomcat é apenas um contêiner de servlet. ele tem a capacidade de executar servlets.
O servidor de aplicativos é mais do que apenas um contêiner. O servidor de aplicativos possui contêiner EJB, provedor de serviços JMS, provedor de origem de dados, provedor de serviços JNDI e outros. tudo isso combinado faz um servidor de aplicativos.
O Apache não pode executar JSP / Servlets. Tomcat pode. A combinação Apache + tomcat é usada em vários lugares, pois o Apache é usado para servir conteúdo estático.