天天看点

何为容器?

容器的概念

广义上讲容器是用来包装或装载物品的贮存器(如箱、罐、坛)或者成形或柔软不成形的包覆材料。在编程领域中,容器提供组件运行的环境,容器本身可以提供一组服务,让组件按标准方式利用。这里的容器容器比现实中的更为抽象,但思想是想通的。

容器与应用服务器(更确切的说,应该是应用服务器软件)

最开始接触tomcat的时候,有人喊它容器,也有人叫它应用服务器。我就想啦,容器和应用服务器什么关系呀?我查了大量资料,还是没有真正区分开这两个概念。资料显示,在软件开发领域,容器基本上等同于应用服务器,貌似它们是从不同的角度对同一事物的描述。我觉得容器属于应用服务器。

j2ee容器

先来张图片:

何为容器?

对图片的解释说明:

j2ee接口

一组标准java企业api版本,对实现这些标准接口的jzee企业组件提供数据库、web、应用程序服务器平台之间的独立性。

我的理解:这就是所谓的面向接口的编程,不依赖具体的实现,只依赖接口。

j2ee接口实现

java企业api的java企业服务提供者实现方法。

我的理解:j2ee应用服务器要实现j2ee的十三种规范。比如:jboss就实现了j2ee的所有规范,而tomcat没有全部实现,所以jboss是j2ee应用服务器,而tomcat不算是j2ee应用服务器。

资源管理服务

资源管理提供高效、可伸缩、可依赖的计算环境。也用于管理与连接分布式数据库或外部系统过程相关联的资源。

部署/配置服务

可配置和可移植地部署j2ee组件的环境。

j2ee平台

j2ee所用的java2标准版(j2se),包括java运行环境提供的j2se硬件与操作系统平台无关特性,还包括j2se

api提供的各种公共编程和分布式通信服务。

容器的分类

j2ee规范定义了四种容器,分别是:小程序容器、应用程序客户机容器、web应用程序容器、ejb应用程序容器。开发b/s系统的人员,经常接触到的是web应用程序容器和ejb应用程序容器。

容器的作用

一张图胜过千言万语,来张图。

何为容器?

上图很形象的为我们描述了容器与组件的关系,不同类型的组件存放在不同的容器中,容器为它里面的组件提供运行的环境等基础支持。从某种意义上说,容器也是抽象、提取的结果,它将组件中公用的东西提取出来,提前为我们实现,给我们的开发带来了很大的便利。

就写这么多吧,以上有哪些理解不到位的地方,还望大家批评指正。