容器(container)是一个类,实际上是component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其他组件和容器。
对于开发人员,需要引入复杂的代码解决事务以及状态管理问题,处理多线程、资源的调度等底层细节,很多业务逻辑可以封装在可重用的组件当中去,此外,Java EE为每一种组件都提供了基于容器的底层服务。容器就是组件和底层服务细节之间的接口。使用java ee可以在容器的帮助下,解放双手去专注于解决其他问题。
Java EE Server and Containers:
Java EE server:Java EE产品运行中的一部分,Java EE server 提供EJB和web容器
EJB container:管理企业beans和Java EE应用的执行,企业beans和Java EE容器在Java EE server上运行
Web container:管理web页面、小程序和一些Java EE程序的EJB组件的执行,web容器及其组件运行在Java EE Server上
Application client container:管理应用客户端组件的执行,应用程序客户端和它们的组件运行在客户端上
Applet container:管理小程序的执行,由一个Web浏览器和一个Java插件组成,一起运行在客户机上
Java EE的上下文和依赖注入定义了一组相关服务,由Java EE容器支持,方便开发人员在Web应用程序上使用企业Beans和Java Server Faces技术。