【J2EE】总结

这里写图片描述
一、组件-容器模型:

J2EE是一个基于组件-容器模型的系统平台,其核心概念是容器,容器是指为特定组件提供服务的一个标准化的运行时环境,JAVA虚拟机就是一个典型的容器。组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了J2EE底层的API,为组件提供事务处理、数据访问、安全性、持久性等服务。在J2EE中组件和组件之间并不直接访问,而是通过容器提供的协议和方法来互相调用。组件和容器间的关系通过“协议”来定义。容器的底层是J2EE服务器,它为容器提供J2EE中定义的各种服务和API。一个J2EE服务器(也叫J2EE应用服务器)可以支持一种或多种容器。

二、J2EE的核心——EJB:

J2EE定义了四种组件:Applet组件、Application客户组件、Web组件及EJB(Enterprise JavaBeans)组件。其中Applet和Application客户组件在客户端运行,J2EE通过java插件为Applet提供运行环境,Application客户的容器就是本地java虚拟机;Web及EJB组件在服务端运行。J2EE中包含JSP和Servlet两种Web组件,它们是Web服务器的功能扩展,都能生成动态Web页面。不同的是JSP是将java代码嵌入到Html中,服务器负责解释执行,生成结果返回用户(与ASP技术相似);而Servlet是单独的java类,它动态生成Html文件返回给客户。Web组件的容器比较典型的就是基于JAVA的Web服务器。

EJB是J2EE平台的核心,也是J2EE得到业界广泛关注和支持的主要原因。众所周知J2EE的一个主要目的就是简化企业应用系统的开发,使程序员将主要精力放在商业逻辑的开发上。EJB正是基于这种思想的服务器技术,它本身也是一种规范,该规范定义了一个可重用的组件框架来实现分布式的、面向对象的商业逻辑;其核心思想是将商业逻辑与底层的系统逻辑分开,使开发者只需关心商业逻辑,而由EJB容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。

一个可部署的EJB组件包含3个部分:Remote接口、Home接口和EnterPrise Beans类。
(1)Remote 接口Remote接口定义EJB组件中提供的可供用户调用的方法,也就是通常所说的实现商业逻辑的函数或过程(如计算商品价格的函数),以供远程客户端调用。在EJB组件部署到容器的时候,容器会自动生成Remote接口相应的实例,即EJB对象,它负责代理用户的调用请求。

(2)Home接口Home接口定义了一组方法来创建新的EJB对象,查找,定位和清除已有的EJB对象。在EJB组件部署时,容器也会自动生成相应的Home对象,该对象负责查找和创建EJB对象,返回EJB对象的引用给客户;用户利用该应用调用EJB组件的方法,得到结果;最后Home对象清除EJB对象。可以形象地称Home接口为EJB对象的工厂。

(3)Enterprise类Enterprise Beans 类是商业逻辑的具体实现类。它可供用户调用的方法在Remote接口中定义。根据功能不同,EJB2.0规范中定义了三种EnterpriseBeans:会话Beans(Session Beans)、实体(Entity Beans)和消息驱动Beans(Message-driver Beans)。

[1]会话Beans分无状态和有状态两种。一般无状态的会话Beans模拟商业逻辑,比如计算价格等。有状态的会话Beans通常模拟一个客户会话,它会临时保存客户信息,根据客户要求调用其他Beans来存取数据。两种会话Beans都不保存状态信息或数据,当客户断开连接或服务器关闭时,会话Beans也随之消失。一个会话Beans的典型例子是网站上的购物车。

[2]实体Beans模拟商业数据,并表示一个数据存储,可以是状态信息或数据库中的一条记录。实体Beans在客户断开连接或服务器关闭后,仍有服务保证其数据得以保存。一个实体Beans的典型例子就是客户账号信息。

[3]消息驱动Beans在行为上很像会话Beans。不同的是仅在需要向这些Beans发送消息时才调用消息驱动Beans,比如在需要是时候发送用户确认信息等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值