< 上一课 | 下一课 >

课程 1.2:连接至数据库和在 Web 页面上显示数据

在此课程中,将学习如何连接至数据库以及在 Web 页面上显示数据记录。还将学习如何将关系记录列表添加至 Web 页面。
关于此任务

本教程中的 Web 站点将动态 Web 页面与 JavaServer Faces 组件配合使用来访问数据库和在 Web 页面上显示信息。本教程使用关系记录和关系记录列表来表示数据库中的数据,以便可以采用数据表或普通 HTML 表的形式将这些数据显示在页面上。这些组件将使用 Java™ 访问 bean。

数据访问 bean 是企业 bean 的 Java bean 表示。它们通常用于那些采用 JavaServer Pages(JSP)文件、servlet 或与其他企业 bean 建立接口的企业 bean 的客户机程序中。访问 bean 可以使您不必考虑管理企业 bean 生命周期的复杂性。这意味着可以像编写 Java bean 一样很容易地编写企业 bean,可以简化企业 bean 客户机程序并且缩短总的开发时间。

JavaServer Faces 是一项技术,可帮助您为在服务器上运行的动态 Web 应用程序构建用户界面。JavaServer Faces 框架管理各个服务器请求中的用户界面状态,并提供了一个用于开发由客户机激活的服务器端事件的简单模型。JavaServer Faces 基于“模型-视图-控制器”(MVC)框架。对于 JavaServer Faces,这意味着控制器是 servlet,模型由 JavaBeans™ 表示,而视图由带很少或不带应用程序代码的 JavaServer Faces 组件组成。此模型的目标是将内容与表示形式分开。

一些诸如“Faces 组件”的工具帮助您在 Web 应用程序中使用此技术。“Faces 组件”包括一个 JavaServer Page(JSP)定制标记库,用于在页面中表示 JavaServer Faces 界面。此向导帮助您创建可使用 Faces 组件的 JSP 文件。Faces 组件允许您通过将组件从“选用板”视图的 Faces 抽屉拖放到正在创建的 Web 页面上,从而创建 Web 应用程序。

例如,可以将输入文本字段拖放到页面上的表单中。然后,可以将提交按钮拖放到输入文本字段旁边。最后,可以将输入文本字段连接至数据源。这将使最终用户能够将 Web 应用程序中的数据输入到数据源中。

使用 Faces 组件构建的应用程序的另一个优点是:用户界面的呈示和底层程序逻辑无关。这意味着应用程序可以在不同平台(例如,浏览器或手持设备)上运行和访问数据。

选用板的“增强型 Faces 组件”抽屉。

添加关系记录列表

关于此任务
在本课程中,将创建一个关系记录列表来表示数据库中的所有分类信息广告。然后,将连接至数据库,并在关系记录列表中选择用来保存所需信息的表。最后,将在页面上的数据表中显示此关系记录列表。
  • 关系记录只连接至数据库中的一条记录。在本例中,关系记录表示样本数据库中的单条分类信息广告。通过使用关系记录,可以创建新记录、编辑现有记录或者删除旧记录。
  • 关系记录列表连接至数据库中的多条记录。在本例中,关系记录列表表示样本数据库中的两个到全部的分类信息广告。
  • 数据表将关系记录列表中的数据显示在页面上。数据表只为记录列表指定一个位置,它们不会像 HTML 表那样将数据格式化成许多行和列。

    数据表是 Faces JSP 页中的一个组件,它用来保存一些数据对象,例如,关系记录列表。虽然数据表看起来与 HTML 表一样具有一些行和列,但是它的工作方式与 HTML 表并不相同。如果想要像在表中那样定义输入和输出控件的格式,那么必须使用“选用板”中的“增强型 Faces 组件”抽屉中的“面板 - 组框”。在“练习 2.2:格式化数据表”中对此进行了描述。

    通过使用“属性”视图,可以使用各种方法来定制数据表:
    • 添加、除去和更改列的顺序
    • 格式化文本和背景
    • 添加页眉、页脚和页边距
    • 对结果显示添加分页

要创建新的关系记录列表:

  1. 在 Web 透视图的“企业资源管理器”视图中,展开 ClassifiedsTutorial > WebContent
  2. 在 WebContent 文件夹中双击 all_records.jsp。all_records.jsp 文件就会在编辑器中打开。
  3. 删除缺省文本在此处插入内容
  4. 在“选用板”视图中,展开数据和服务抽屉。
  5. SDO 关系记录列表组件从“选用板”拖放到空白内容区域上。将打开“添加关系记录列表”窗口。
  6. 在“名称”字段中,输入 all_recordlist 关系记录列表和关系记录的名称必须符合变量名的 Java 标准命名约定。例如,这些名称不能包含任何空格。
  7. 确保选择了添加数据控件 如果选择了添加数据控件,向导就会创建数据表以在页面上显示记录列表。否则,向导将只创建记录列表而不创建该数据在页面上的表示。现在,向导将创建缺省数据表,稍后您将定制该数据表。“添加关系记录列表”窗口应类似于下图:
    “添加关系记录列表”窗口。

    单击下一步

  8. 在向导的下一页面上的名称字段中,单击新建以创建新的数据库连接。 概要文件浏览对话框打开。
  9. 在“概要文件浏览”对话框中,单击新建 新建连接概要文件对话框打开。
  10. 连接概要文件类型列表中,选择 Derby,然后单击下一步 创建连接概要文件对话框打开。
  11. 在“名称”字段中,输入 DerbyDB,选择启动时自动连接,然后单击下一步
  12. 在“驱动程序”字段中,选择 Derby 10.2 - 缺省嵌入式 JDBC 驱动程序
  13. 在“数据库位置”字段中,单击浏览并选择 <workspace_location>\ClassifiedsTutorial\WebContent\database,其中 <workspace_location> 是当前工作空间的目录。单击完成
  14. 在“概要文件浏览”对话框中,单击 DerbyDB,然后单击确定。您将返回到添加关系记录列表向导。
  15. 单击配置项目的数据库连接。将打开“JDBC 连接属性”窗口。
  16. 单击“运行时连接详细信息”部分旁边的编辑。选择使用驱动程序管理器连接作为运行时连接类型。单击完成,然后单击确定以返回到“添加关系记录列表”对话框。 既然您已经创建了与 Derby 数据库的连接,就需要选择要表示的表或记录列表。“添加关系记录列表”向导显示数据库中的表。
  17. 展开 W5SAMPLE 并选择 ADS。单击下一步。 向导中的其余页面使您能够从记录列表中排除列并执行高级选项,例如,定义主键、添加与其他表的关系以及指定过滤和排序条件。您将在后面的练习中了解有关这些页面的更多信息。
    “添加关系记录列表”对话框。
  18. 在该对话框的添加关系记录页面中,您将指定想要包含在关系记录列表中的列。单击下一步
  19. 在本教程中,只需要显示每个分类信息广告的标题、描述、类别、价格和电话号码。缺省情况下,将选择所有列,单击以清除下列各列之外的所有列:
    • MAINCATEGORY: String
    • TITLE: String
    • DESCRIPTION: String
    • PRICE: BigDecimal
    • PHONE: String
  20. 可以进一步优化 Web 页面上显示的数据表的组织形式。要将各列重新排序,选择一列并单击向上箭头和向下箭头,直到该列位于期望位置为止。
    按照以下顺序排列这些列:
    • TITLE
    • DESCRIPTION
    • MAINCATEGORY
    • PRICE
    • PHONE
    单击完成
    您的 Web 页面现在看起来将类似于下图:
    该页面的当前外观。
  21. 保存该页面。
结果
在下一课程中,您将看到此页面在实际 Web 服务器上的外观。有许多用于格式化数据表和 JavaServer Faces 组件的选项。某些选项包含在下一个模块中。您自己也可以研究页面上的各种 JavaServer Faces 组件(例如,数据表和各个输出组件)的“属性”视图。

课程要点

您已经完成了课程 1.2。在此课程中,您学习了如何连接至数据库以及在 Web 页面上使用关系记录列表来显示数据记录。
< 上一课 | 下一课 >

反馈