




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在模型层使用EJB组件 n教学内容 n比较JavaBean与EJB n创建EJB组件 n访问EJB组件 n在JBoss与Tomcat的整合服务器上发布J2EE 应用 PDF 文件使用 pdfFactory 试用版本创建 JavaBean与EJB的比较 nJavaBean n轻量级组件 n不需要遵守复杂的规范 n能够运行在任何Java环境中 n具有较好的可移植性 n不能被远程调用 nEJB n重量级组件 n需要遵守复杂的规范 n只能运行在EJB容器中 可以由容器管理事务 n由于各个厂商的EJB容器不兼容 导致EJB组件的可移植性差 n支持远程调用 PDF 文件使用 pdfFactory 试用版本创建 EJB的分类 nEJB分两种类型 n会话Bean 过程域对象 实现业务逻辑 n实体Bean 实体域对象 实现业务实体 n会话Bean又有两种类型 n有状态会话Bean 有状态会话Bean的实例始终与一 个特定的客户关联 它的实例变量可以维护特定客 户的状态 n无状态会话Bean 无状态会话Bean的实例不与特定 的客户关联 它的实例变量不能始终代表特定客户 的状态 PDF 文件使用 pdfFactory 试用版本创建 基于J2EE的netstore应用的体系结构 PDF 文件使用 pdfFactory 试用版本创建 创建无状态会话Bean NetstoreEJB组件 n一个EJB至少包括3个Java文件 Remote 接口 Home接口和Enterprise Bean类 NetstoreEJB组件的3个Java文件分别为 nNetstoreEJB java Remote 接口 nNetstoreEJBHome java Home接口 nNetstoreEJBImpl java Enterprise Bean类 PDF 文件使用 pdfFactory 试用版本创建 Remote接口 NetstoreEJB接口 import javax ejb EJBObject public interface NetstoreEJB extends EJBObject public Customer authenticate String email String password throws InvalidLoginException ExpiredPasswordException AccountLockedException DatastoreException RemoteException public List getItems int beginIndex int length throws DatastoreException RemoteException public Item getItemById Long id throws DatastoreException RemoteException public Customer getCustomerById Long id throws DatastoreException RemoteException public void saveOrUpdateCustomer Customer customer throws DatastoreException RemoteException public void saveOrder Order order throws DatastoreException RemoteException public void destroy throws RemoteException PDF 文件使用 pdfFactory 试用版本创建 Home接口 NetstoreEJBHome接口 nHome 接口定义了创建 查找和删除EJB的方法 本例 中的NetstoreEJBHome接口包含了一个create 方法 这个方法返回一个NetstoreEJB对象的远程引用 import java rmi RemoteException import javax ejb CreateException import javax ejb EJBHome The home interface for the Netstore session bean public interface NetstoreEJBHome extends EJBHome public NetstoreEJB create throws CreateException RemoteException PDF 文件使用 pdfFactory 试用版本创建 Enterprise Bean 类 nEnterprise bean类必须实现remote接口中定义 的业务方法 nEnterprise bean类必须实现ejbCreate方法 它 与home接口中定义的create方法对应 nejbCreate方法完成enterprise bean的初始化 当客户 端调用home接口中定义的create方法时 由EJB容 器生成的EJB Home对象会调用enterprise bean实例 的ejbCreate方法 PDF 文件使用 pdfFactory 试用版本创建 Enterprise Java Bean 类 NetstoreEJBImpl public class NetstoreEJBImpl implements SessionBean INetstore SessionContext ctx public Customer authenticate String email String password throws InvalidLoginException DatastoreException RemoteException Session session HibernateUtil getSession Transaction tx null try tx session beginTransaction Query query session createQuery from Customer c where c email email and c password password query setString email email query setString password password List result query list mit if result isEmpty throw new InvalidLoginException return Customer result iterator next catch HibernateException ex finally HibernateUtil closeSession session PDF 文件使用 pdfFactory 试用版本创建 访问NetstoreEJB组件 nNetstoreEJB组件运行在EJB容器中 是一种JNDI资源 在Web应 用中 无法创建NetstoreEJB组件 而应该首先查找名为 ejb NetstoreEJB 的JNDI资源 获得该资源的引用 InitialContext ic new InitialContext Object objRef ic lookup java comp env ejb NetstoreEJB n然后把它转换为NetstoreEJBHome类型 NetstoreEJBHome home NetstoreEJBHome PortableRemoteObject narrow objRef netstore service ejb NetstoreEJBHome class n接下来调用NetstoreEJBHome的create 方法 此时 EJB容器会 创建NetstoreEJBImpl的实例 并调用它的ejbCreate 方法 然后 返回NetstoreEJB组件的远程引用 INetstore netstore home create PDF 文件使用 pdfFactory 试用版本创建 业务代理实现类NetstoreEJBDelegate n在init 方法中获得HOME接口引用 然后获得 NetstoreEJB的远程引用 public NetstoreEJBDelegate init private void init try InitialContext ic new InitialContext Object objRef ic lookup java comp env ejb NetstoreEJB NetstoreEJBHome home NetstoreEJBHome PortableRemoteObject narrow objRef netstore service ejb NetstoreEJBHome class netstore home create PDF 文件使用 pdfFactory 试用版本创建 业务代理实现类NetstoreEJBDelegate nNetstoreEJBFromFactoryDelegate类本身并没有实现业 务逻辑 而是调用NetstoreEJB组件的业务方法 来实 现各种业务逻辑 public Customer authenticate String email String password throws InvalidLoginException ExpiredPasswordException AccountLockedException DatastoreException try return netstore authenticate email password catch RemoteException e throw DatastoreException datastoreError e PDF 文件使用 pdfFactory 试用版本创建 在JBoss Tomcat上部署EJB组件 n一个EJB组件由相关的类文件和EJB的发 布描述文件构成 PDF 文件使用 pdfFactory 试用版本创建 创建ejb jar xml文件 nejb jar xml是EJB组件的发布描述文件 在这个文件中定义了EJB组件的类型 并 指定了它的Remote 接口 Home 接口和Enterprise Bean类对应的类文件 Netstore Application Netstore EJB NetstoreEJB netstore service ejb NetstoreEJBHome netstore service ejb NetstoreEJB netstore service ejb NetstoreEJBImpl Stateless Bean PDF 文件使用 pdfFactory 试用版本创建 创建jboss xml文件 njboss xml是当EJB组件发布到JBoss服务器中时才必须 提供的发布描述文件 在这个文件中为EJB组件指定 JNDI名字 NetstoreEJB ejb NetstoreEJB PDF 文件使用 pdfFactory 试用版本创建 给EJB组件打包 n在发布EJB组件时 应该把它打包为JAR文件 假定 NetstoreEJB组件的源文件都位于目录下 在DOS窗口中 转到目录 运行如下命 令 jar cvf netstoreejb jar n在目录下将生成netstoreejb jar文件 如果希望单独发布这个EJB组件 只要把这个JAR文件 拷贝到 server default deploy下即可 PDF 文件使用 pdfFactory 试用版本创建 在JBoss Tomcat上部署Web应用 n在JBoss Tomcat上发布Web应用 应该 在 WEB INF 目 录 下 增 加 一 个 jboss web xml文件 此外还应该对原来的 web xml文件做适当修改 PDF 文件使用 pdfFactory 试用版本创建 修改web xml文件 n在web xml文件中加入元素 声明对这个EJB 组件的引用 其代码如下 ejb NetstoreEJB Session netstore service ejb NetstoreEJBHome netstore service ejb NetstoreEJB PDF 文件使用 pdfFactory 试用版本创建 创建jboss web xml文件 njboss web xml是当Web应用发布到JBoss服务 器中才必须提供的发布描述文件 在这个文件 中指定和的映射 关系 以下是jboss web xml的源文件 ejb NetstoreEJB ejb NetstoreEJB PDF 文件使用 pdfFactory 试用版本创建 给Web应用打包 n在发布Web应用时 应该把它打包为WAR文件 假定netstore应用的所有源文件位于 目录下 在DOS窗口中 转到 目录 运行如下命令 jar cvf netstore war n在目录下将生成netstore war文件 如果希望单独发布这个Web应用 只要把这个 WAR文件拷贝到 server default deploy下即可 PDF 文件使用 pdfFactory 试用版本创建 在JBoss Tom
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食品检验工初级食品安全检测报告评估报告考试试卷
- 数字化培训体系构建-洞察及研究
- 新能源汽车制造产业链布局与核心技术产业链创新驱动策略研究报告
- 零售行业私域流量运营与智能客服应用效果评估报告
- 2025年中国标准纸面石膏板市场调查研究报告
- 2025云南玉溪宸才人力资源咨询管理有限公司招聘宿舍管理员人员2人笔试参考题库附答案解析
- 2025浙江嘉兴市宇人焊网机制造有限公司招聘笔试参考题库附答案解析
- 2025年中国桥式直角三辊闸市场调查研究报告
- 2025西安中铁国际城社区卫生服务中心招聘(4人)笔试模拟试题及答案解析
- 2025年中国不锈钢拉丝市场调查研究报告
- 第十一章-异常分娩-1产力异常
- 建设工程质量检测见证取样员手册
- 跆拳道竞赛规则
- 公司介绍-校园招聘-北汽
- 五年级上册数学练习题-数学好玩 图形中的规律|北师大版 含答案
- GB/T 17622-2008带电作业用绝缘手套
- GB/T 16886.18-2011医疗器械生物学评价第18部分:材料化学表征
- 果子店漫社-动漫节
- 培训-011亚马逊物流及仓储
- 低压电气基础知识培训课件
- 预报基础知识收集整理
评论
0/150
提交评论