网站大量收购闲置独家精品文档,联系QQ:2885784924

吉林大学EJB学习笔记.docxVIP

吉林大学EJB学习笔记.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

EJB

背景:

复用粒度方面

OO复用单位是类;

组件如:EJB,复用单位:更大模块。

可移植性方面

Java:writeoncerunanywhere(WORA)

EJB:writeoncedeployanywhere(WODA)

目的:摆脱开发商。过去,每个开发商有自己的API。

与J2EE关系

J2EE和EJB都是服务器规范,后者是前者的一个子集。

EJB组件无法在EJB容器之外存活,它无main方法,大多数方法由容器调用。

工作过程概述:

客户对象――》业务接口――》EJB对象――》服务――》企业Bean--DB

每次客户向bean发出调用时,服务器就会介入到客户和bean之间,插入一些服务,如:安全、事务、持久存储等。

DB表众多同类对象的数据(状态)永久性集中存储。

分类:

实体bean持久存储库中的一个事务,表中一行,若干表数据行中提取的信息。代表系统中的实体(对象)。

消息驱动bean监听JMS服务的消息,客户不直接调用,客户向消息服务发消息。

会话bean表示一个过程,描述一个动作或动作序列。有状态的可以记住调用前的会话状态,无状态的则无记载。会话状态是客户特定的状态,例如:购物车,只要“购物”这个会话还存活,这个状态就应该保留。(功能)

附1:按照一般OO方法编写可复用的类,让bean的实现调用这些类的方法。

附2:无状态会话bean可以有状态,即:有自己的实例变量,只不过不是客户特定的状态。

组件组件实例一个组件可以有多个实例

实例产品(大粒度)

工厂(小粒度)

EJB组件Client负责领域相关的功能

EJB容器Server(中间件)负责领域无关的功能

构造Bean需要的工作概述:(只考虑远程客户程序的情况下,在顶层结构上……)

编写提供业务方法的类:bean类

需要确定bean的种类,实现对应的接口。

编写两个接口(多数情况下):home接口(工厂接口、类厂接口)和组件业务接口(远程接口)

创建一个XML部署描述文件,用来告诉服务器如何管理。名字必须为:ejb-jar.xml.

把bean、接口和部署描述文件放到一个ejb-jar文件中,该文件中可能不只一个bean,但部署描述文件只有一个。

用服务器开发商提供的工具把bean部署到服务器上。

例如:

Step1bean类如下:

packagecbt;

importjavax.ejb.*;

publicclassAdviceBeanimplementsSessionBean{

private string[]adviceStrings={“”,…,“”};

publicvoidejbActivate(){}

publicvoidejbPassivate(){}

publicvoidejbRemove(){}

publicvoidsetSessionContext(SessionContextctx){}

//以上4个来自SessionBean接口。

publicstringgetAdvice(){

intr=(int)(Math.random()*adviceStrings.length);

returnadviceStrings[r];

}

publicvoidejbCreate(){}//必须有,EJB原则

Step2两个接口如下:

1.组件接口(远程接口)

packagecbt;

importjavax.ejb.*;

importjava.rmi.RemoteException;

publicinterfaceAdviceextendsEJBObject{

publicstringgetAdvice()throwsRemoteException;

}

//或扩展EJBLocalObject

2.Home接口//bean的引用工厂,制造并向客户分配

packagecbt;

importjavax.ejb;

importjava.rmi.RemoteException;

publicinterfaceAdviceHomeextendsEJBHome{

publicAdvicecreate()throwsRemoteException,

CreateExcption;

}

//必须返回组件接口类型;

//会话和实体Bean有,消息驱动Bean没有(无客户View)

//或扩展EJBLocalHome

先开发bean类,还是先定义组件接口,无要求。

Bean类并不是

文档评论(0)

浙江工程信息通 + 关注
实名认证
服务提供商

网络工程师持证人

本人已从事浙江省工程咨询5年,对浙江省内工程信息非常熟悉,可获取新建工程相关联系人、设计院、业主等关键信息。另外从事楼宇自控专业已10年,考取了一建二建等资格证书,有关考试方面的问题(考试心得、方法、学习资料等)都欢饮来咨询交流。

领域认证该用户于2023年05月11日上传了网络工程师

1亿VIP精品文档

相关文档