服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用javabean数据组件集成jsf应用程序与ejb(1)


  引言
  这一系列文章展示了 websphere® studio v5.1.1 中的 java™ server faces technology preview 的特征,本文是其中的第 4 部分。该系列文章包括以下几个部分:
  
  第 1 部分:创建 jsf web 项目和页面模板
  第 2 部分:创建 jsf 提交表单
  第 3 部分:创建通过 web data objects(wdo,很快就会成为 sdo:service data objects)访问数据的 jsf 应用程序
  第 4 部分:使用 action handlers 和 javabean 数据组件集成 jsf 应用程序与 enterprise java beans
  第 5 部分:使用 web 服务代理组件创建 jsf web 服务客户端。
  
  在文章系列的第 3 部分中,我们看到了 jsf 应用程序如何利用 service data object(sdo)技术来访问数据。在本文中,我们将会看到 jsf 如何利用现有的 j2ee 技术。我们将会创建一个调用现有的 ejb 应用程序的 jsf 页面,并在兼顾 jsf 的 rad 性质的前提下运用 javabean data 控制来显示 ejb 调用结果。另外,我们将会使用 quick edits 视图来编写 action handler,以便调用现有的无状态会话 bean。
  
  要想完成这些练习,您需要下载包含在本文中的资料。万一您还没完成第 3 部分,下载文件包含了解决方案;请按照第 3 部分所描述的方法导入该 ear 文件。要想运行示例,您还需要按照第 3 部分所阐述的方法创建数据库;导入解决方案之后,请按照第 3 部分最后一节描述的方法运行应用程序,这样就可在用于此练习的 server configuration 中创建 jdbc 数据源。
  
  导入并安装 stocksystemejb
  现在我们来为第 2 部分创建的 stock data page 创建下一个 jsf 结果页面。首先我们导入现有的 ejb jar 文件,然后创建显示结果的 jsf 页面。
  
  要想导入 ejb jar 文件并使它成为现有 ear 文件的一部分,您需要执行以下的步骤:
  在 websphere studio application developer(以后简称为 application developer)中选择 file => import。
  
图 1. application developer file 菜单

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图一)

  选择 ejb jar file,然后单击 next。
  
图 2. file import 对话框

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图二)

  定位到 c:/jsfarticleseries/part4/stocksystemejb.jar。project 名称应该为 stocksystemejb。选择现有的 ear 文件 stocksystemear。(您必须显式地选择现有的 ear;它在缺省情况下为 stocksystemejbear,这可能容易让人误解。)单击 finish。
  
图 3. ejb import

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图三)

  在弹出 repair server configuration 对话框时,请单击 ok。
  
图 4. repair server configuration

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图四)

  既然已经将 ejb jar 文件导入现有的 ear 之后,现在就需要让它对 war 文件可视。可以这样来实现:将 ejb jar 文件添加到 war 文件的清单中,这种方式是处理类路径的标准 j2ee 方式之一。application developer 提供了一种完成这一操作的简单方法:在一个步骤中将 ejb jar 同时添加到构建时和编译时类路径中。
  右键单击 project navigator 视图中的 personaltradejsf web 项目,选择 properties。
  
图 5. project navigator

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图五)

  选择 java jar dependencies。在该对话框中,选中 stocksystemejb.jar。确保 use ejb jar 也被选中。(对于 version 5.1.1,application developer 支持会生成 ejb client jar)。
  
图 6. java jar dependencies

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图六)

  单击 ok。
  在我们的应用程序中,personaltradejsf 会访问 stockfacadeejb。stockfacadeejb 与实体 bean 相结合来访问当前股票数据。访问 ejb 时使用 ejb 引用被视为一种最佳实践。虽然 ejb jar 提供了委托来隐藏 ejb 客户端 api 的细节,但它使用了资源引用。由于委托是在 web 应用程序的上下文里调用的,所以还需要定义引用。
  在 project navigator 中,利用 personaltradejsf 底下的链接打开 web deployment descriptor 编辑器。
  
图 7. 打开 web deployment descriptor

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图七)

  选择该编辑器底部的 references 选项卡。
  
图 8. references 选项卡

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图八)

  选择 references 页面中的 ejb local 选项卡。
  
图 9. ejb local references

  
 用javabean数据组件集成jsf应用程序与ejb(1)(图九)

  选择 ejb local references 选项卡下的 add。
  
图 10. 添加 ejb local references

  
用javabean数据组件集成jsf应用程序与ejb(1)(图十)

扫描关注微信公众号