容器,组件,框架,包,类的关系
EJB跟我们之前所了解的组件,框架,包,类等都有什么关系?接下来主要是从容器入手来理解这些概念.
J2EE中容器充当中间件的角色。主要的容器包括:
WEB容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。
EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。WEB容器和EJB容器在原理上是大体相同的,更多的区别是被隔离的外界环境。WEB容器更多的是跟基于HTTP的请求打交道。而EJB容器不是。它是更多的跟数据库、其它服务打交道。但他们都是把与外界的交互实现从而减轻应用程序的负担。例如SERVLET不用关心HTTP的细节,直接引用环境变量session,request,response就行、EJB不用关心数据库连接速度、各种事务控制,直接由容器来完成。
对象,类,包,模块,组件,容器,框架,这些java属于他们都有一个共同的特点:容纳.但是他们彼此之间又有什么关系和联系么?
对象(Object):
在java的世界里,对象是通过属性和方法来分别对应事物所具有的静态属性和动态属性.
类(Class):
用于描述同一类型的对象的一个抽象的概念.
对象和类的关系:
类是具有共同的属性名称和行为的一组对象的抽象,而对象则是一个类的真实的例子。
组件(component):
组件也是抽象的概念,可以理解为一些符合某种规范的类组合在一起就构成了组件。他可以提供某些特定的功能。J2EE来说,有什么servlet,jsp, javabean,ejb都是组件。但实际他们都是类,只不过有他们特殊的规定。
组件和类的关系:符合某种规范的类的组合构成组件.
容器(Container):
容器也叫做组件容器,组件容器是一种比较特殊的组件,它可以包含其他的组件。我们可以把组件放在组件容器中。反之,如果一个组件不是组件容器,则其中不能包含其他的组件。
组件容器也是一种组件,所以一个组件容器可以放在另一个组件容器中。 组件容器的出现使得事情变得复杂了起来。我们可以把组件放在组件容器里,也可以把组件容器放在另一个组件容器里,这样就形成了有层次的组件结构。
我们可以把普通的组件想像成为鸡蛋,而把组件容器想像成为篮子。那么,鸡蛋可以放在小篮子里,小篮子和别的鸡蛋又可以放在大篮子里。于是 ,篮子里可以有鸡蛋,还可以有其他的篮子。