何为容器?

容器的概念

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

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

最开始接触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应用程序容器。

容器的作用

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

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

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

时间: 2024-11-04 17:53:21

何为容器?的相关文章

web容器 web服务器 应用服务器

1.Web Server,Web container和Application Server区别. Web Server,Web服务器,同上面所说,Web服务器是指能够为发出请求的浏览器提供文档的程序.服务器是一种被动程序,只有浏览器发出请求的时候才会响应.应用层使用的是HTTP协议.目前最主流的三个Web服务器是Apache Nginx IIS. Web容器是一种服务器程序,在服务器端口就有一个提供相应服务的程序.所以现在知道为什么Tomcat有默认的端口——8080.一个服务器可以有多个容器.

Web容器Web服务器及常见的Web容器有哪些?

一.引言 首先来理解一下简单的一个请求发送到响应的过程. 首先,客户端,通常是浏览器或者一些应用发送请求到你的服务器地址,比如访问你的Url或者其他的东西.而我们的服务器通常要分为两个部分,一部分是服务器硬件,有了硬件之后还有有硬件上对应运行的软件.即服务器软件 其次,服务器的硬件部分接收到了这一段请求,将其递交给对应的进程,服务器软件.此时这个服务器软件即为Web服务器,比如说Apache. 再然后,这些Web服务器服务器本身不一定提供动态页面的访问能力,所以对jsp或者一些其他的访问需要其他

常用的java应用服务器

何为应用服务器呢?它主要为应用程序提供运行环境,为组件提供服务.想进一步了解,可以查看我的博客:何为容器? Java 的应用服务器很多,从功能上分为两类:WEB 应用服务器和 Java EE 应用服务器.相对来说 Java EE 服务器的功能更加强大. WEB 服务器 Tomcat .Bejy Tiger .Geronimo . Jetty .Jonas .Jrun .Orion .Resin. Java EE 服务器 TongWeb .BES Application Server . Apus

JS和AS交互

这个话题在网上应该说很好找,有很多这方面的资料.比者也看过一些,不过大部分都是AS2与JS进行交互.很少提到AS3,即使有,也让人感觉浅尝辄止.很多东西并没有介绍的太清楚.所有笔者萌生了写这样一篇教程的想法! 提及AS3与外部脚本的交互,笔者认为可以总结成两种.一是AS3调用外部函数,二是外部脚本调用AS3函数.无外乎就这两种.在调用函数的同时,我们还可以向函数传递一些参数.这就达到了传递数据的目的.举一个最简单的例子.我们平时在网络上看视频的时候,这些用AS3制作的播放器就是由外部脚本(可能是

javaEE面试重点

Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息.创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation 5. 持久化操作 6. 提交事务 7. 关闭Session 8. 关闭SesstionFactory 为什么要用: * 对JDBC訪问数据库的代码做了封装.大大简化了数据訪问层繁琐的反复性代码. * Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现. 他非常大程度的简化D

j经常使用ava应用server

什么是应用server它?它主要提供的执行环境的应用程序,为组件提供服务. 要了解更多关于,您可以查看我的博客:何为容器? Java 的应用server非常多,从功能上分为两类:WEB 应用server和 Java EE 应用server. 相对来说 Java EE server的功能更加强大. WEB server Tomcat .Bejy Tiger .Geronimo . Jetty .Jonas .Jrun .Orion .Resin. Java EE server TongWeb .B

转载:js和as间的交互

转载一: 提及AS3与外部脚本的交互,笔者认为可以总结成两种.一是AS3调用外部函数,二是外部脚本调用AS3函数.无外乎就 这两种.在调用函数的同时,我们还可以向函数传递一些参数.这就达到了传递数据的目的.举一个最简单的例子.我们平时在网络上看视频的时候,这些用AS3 制作的播放器就是由外部脚本(可能是JS,也可能是ASP或其他脚本)传递给它的视频地址.从而就简化我们的后台程序.有的人会问!你用播放器去读取外部 的XML数据不是也可以吗?确实,当时,当你有成千上万个视频的时候,你不可能输入这么多

了解ASP.NET Core 依赖注入,看这篇就够了

DI在.NET Core里面被提到了一个非常重要的位置, 这篇文章主要再给大家普及一下关于依赖注入的概念,身边有工作六七年的同事还个东西搞不清楚.另外再介绍一下.NET  Core的DI实现以及对实例生命周期的管理(这个是经常面试会问到的问题).最后再给大家简单介绍一下在控制台以及Mvc下如何使用DI,以及如何把默认的Service Container 替换成Autofac. 一.什么是依赖注入 1.1 依赖 1.2 什么注入 为什么反转 何为容器 二..NET Core DI 2.1 实例的注

【转】ASP.NET Core 依赖注入

DI在.NET Core里面被提到了一个非常重要的位置, 这篇文章主要再给大家普及一下关于依赖注入的概念,身边有工作六七年的同事还个东西搞不清楚.另外再介绍一下.NET  Core的DI实现以及对实例生命周期的管理(这个是经常面试会问到的问题).最后再给大家简单介绍一下在控制台以及Mvc下如何使用DI,以及如何把默认的Service Container 替换成Autofac. 一.什么是依赖注入 1.1 依赖 1.2 什么注入 为什么反转 何为容器 二..NET Core DI 2.1 实例的注