J2EE / Java EE应用程序不是自包含的。为了执行,它们需要 部署 在容器中。换句话说,容器在JVM之上提供了一个执行环境。
此外,应用程序依赖于几个API,例如JPA,EJB,Servlet,JMS,JNDI等。EE兼容容器的作用是为所有或某些API提供标准实现。这意味着从理论上讲,您可以在任何依赖于标准API的容器上运行应用程序。
从技术角度来看,容器只是具有main()
方法的另一个Java SE应用程序。另一方面,EE应用程序是services / beans / servlets / etc的集合。容器找到这些组件并运行它们,从而提供API实现,监视,可伸缩性,可靠性等。