Hello World,第 2 部分: Rational Application Developer

不使用 JDBC 访问 Cloudscape 数据库

欢迎阅读“Hello,World!”系列的第二篇教程,本文对 IBM 软件产品进行了高层次的概述。本教程向您介绍了 IBM Rational Application Developer 并强调了它的一些基本特性。本文包含介绍如何创建 Java 应用程序、创建并调用 Web 服务,以及创建可以使用关系记录列表(Relational Record List)访问 Cloudscape 数据库的 Web 应用程序的实践练习。

Jane Fung (mailto:jcyfung@ca.ibm.com), 软件开发人员, IBM 多伦多实验室

Jane Fung工作于 WebSphere Studio Application Developer Integration Edition 工具团队中。Jane 在安大略省的滑铁卢大学获得了电子工程的应用科学学士学位,并且是 Sun Java 2 认证程序员。您可以通过 jcyfung@ca.ibm.com联系 Jane。



2006 年 8 月 10 日

预备知识

关于本系列

本系列是用于那些想要 IBM 软件产品高层次概述的初学者。各模块设计用来介绍产品,并让您对进一步的探究感兴趣。练习只覆盖基本概念,但足够让您入门。

关于本教程

本教程为您提供 Rational® Application Developer 的高层次概括,并让您有机会利用内行的经验来用它进行练习。按部就班的介绍展示了如何开发应用程序、创建 Web 服务、创建一个 JSP 页面,以及访问数据库。

Hello,World!系列:向SOA的构建模块说“Hello!”

您想了解如何构建基于面向服务的体系结构(Service-Oriented Architecture,SOA)的应用吗?

这个系列教程就是为了让您能快速掌握 IBM 最新的软件开发工具,在您的企业中实现 SOA 基础架构而设计的。通过学习当中介绍的简单步骤,您就能使用 IBM 最新的软件开发工具开始简单的开发任务。这些教程能大大节省您入门学习的时间——尤其是当您的项目最后期限(deadline)越来越逼近的时候,它将是您首选的开发指南!

目标

在完成本教程之后,您应该了解了 Rational Application Developer 的基本功能,并且能够创建应用程序,如练习中所示范的,包括 Java™ 应用程序、Web 服务,和 Web 应用程序。

必要条件

本教程是针对那些对 Java 语言有一般了解的初学级 Java 应用程序开发人员的。

要运行本教程中的实例,请安装 IBM Rational Application Developer for WebSphere Software

要观看本教程中的演示,您的浏览器必须允许 JavaScript 并且必须安装有 Macromedia Flash Player 6 或更高版本。您可以在此链接处下载最新的 Flash Player http://www.macromedia.com/go/getflashplayer/

动画演示

如果您是第一次遇到包含演示的 developerWorks 教程,那么这里有一些您需要了解的东西:

  • 演示是观看教程中所描述的相同步骤的可选择的方法。要观看动画演示,单击“显示 demo显示 demo”链接。演示将出现在新的浏览器窗口中。
  • 每个演示的底部都包含一个导航条。使用导航条来暂停、退出、回退,或快进。
  • 演示是 800 x 600 象素的。如果这是您的屏幕的最大分辨率,或者比您的屏幕的分辨率高,那么您只能利用滚动条观看演示的一些区域。
  • 您的浏览器必须允许 JavaScript,并且必须安装有 Macromedia Flash Player 6 或更高版本。

介绍

Rational Application Developer,下文称为 Application Developer,是 IBM WebSphere Studio Application Developer 的后继产品。与它的前辈不同,Application Developer 是基于开源的 Eclipse 开发平台的。Eclipse 平台是用于构建软件的可扩展的开发平台和应用程序框架。您可以通过向该平台添加插件的方式来包含新的功能。

Eclipse 平台本身带有一个用于开发 Java 应用程序的 Java 集成开发环境(Integrated Development Environment,IDE)。它向 Java 开发人员提供了一些通用的工具及特性。由于建立在 Eclipse 平台之上,Application Developer 添加了大量的功能,包括 J2EE 开发、XML、Web 服务开发、数据库开发。

当您首次打开 Application Developer 时,选择工作区的位置,如图 1 中所示。工作区可以是保存您的工作成果的任何目录位置。如果您同时处理多个工程,那么对每个工程使用不同的工作区,用以确保清晰地区分代码。

图 1. 选择工作区位置的窗口
图 1:选择工作区位置的窗口。

当您选择了工作区之后,Welcome 页面出现了,如图 2 所示。它向您提供教程和示例的快速链接。点击 Overview 图标开始 Application Developer 的指导漫游。

图 2. Rational Software Development Platform Welcome 页
图 2:Rational Software Development Platform Welcome 页。

关闭 Welcome 页。J2EE 透视图出现了。透视图是开发人员所需要的工具和视图的合并。Application Developer 为不同类型的开发人员,例如 Web、数据、J2EE,调试,和 Java 程序设计,提供了许多透视图。

Application Developer 支持许多不同类型的应用程序的开发,包括:

  • Java
  • Web
  • EJB
  • J2EE
  • 数据库
  • Web 服务 JMS
  • SQLJ
  • 门户
  • 可视化建模(能让你在序列图、主题图等图中可视化您的代码)

您可以在 Application Developer 上开发前面的任何一种应用程序,及进行测试、调试。在内嵌的 WebSphere Application Server 上直接部署并测试 J2EE 应用程序。 WebSphere Application Server 是 J2EE 服务器,它支持运行 J2EE 企业级应用程序。Application Developer 带有集成的 WebSphere Application Server。

Application Developer 默认以 WebSphere Application Server 进行单元测试。图 3 显示服务器视图,在其中您可以启动并停止 WebSphere Application Server。

图 3. 服务器视图
图 3服务器视图。

Application Developer 如何适应 SOA ?

Application Developer 是健壮的且强有力的开发工具。它十分适合于开发面向服务的体系结构(Service-Oriented Architecture,SOA)。SOA 是一种架构风格,用于建立交付应用程序功能的分布式系统,这些功能作为服务为最终用户应用程序所使用,或用于建立其他服务。它允许客户通过组装新的及现有的服务来快速简便地创建成熟的应用程序和解决方案。公司中的每一个业务功能都可以作为服务来实现,然后与其他服务集成起来实现公司的商业需求。

SOA 利用开放标准将业务功能表示为服务。每个服务成为创建企业应用程序的构造模块。SOA 中的服务可以用多种程序设计语言,在不同的平台上实现。它们可以相互交互,因为它们使用了通用的接口。SOA 服务的一个实例是 Web 服务。

Web 服务 联合了许多普遍的技术和开发标准,帮助集成异构系统。通过 Web 服务可以实现 SOA,新的和现有的应用程序作为构造模块,通过独立于平台和程序设计语言的标准的 Internet 协议来访问。Application Developer 让您创建可以用于面向服务的体系结构的 Web 服务。

Application Developer 通过自顶向下的方法(由 WSDL 文件开始来生成 Web 服务的实现)或自底向上的方法(由 Java Bean 或 EJB 实现开始来生成 Web 服务)来支持 Web 服务的生成。它提供向导来快速创建 Web 服务、Web 服务客户端,并向外发布 Web 服务。


创建一个 Java 应用程序

本练习带您创建一个 Java 应用程序,该程序打印出一行文字,Hello, World!

  1. 打开 Application Developer,如果您还没有这么做:在开始(Windows Start)菜单中选择 Programs > IBM Rational > IBM Rational Application Developer > Rational Application Developer
  2. 出现了一个窗口并请求工作区目录。单击 OK 接受默认值。

创建一个新的 Java 工程

创建一个名为 MyJavaProject 的 Java 工程,其中含有源代码和二进制文件夹,分别用于存储 Java 和类文件:

您想要观看这些步骤的示范吗?

显示 demo显示 demo

  1. 在工作台中,选择 File > New > Project
  2. 选择 Java > Java Project > Next。如果您没有看到 Java,选择 Show All Wizards 复选框。如果提示您启用 Java 开发功能,选择 OK
  3. 输入 MyJavaProject 作为工程名称。
  4. 选择 Create separate source and output folders 单选按钮并单击Finish
  5. 如果询问您变更为 Java 透视图,就单击 Yes
    图 4. New Java Project 窗口
    图 4:New Java Project 窗口

创建一个新的 Java 类

在 test 包中创建一个 Java 类,名为 Test,如图 5 所示:

  1. 在 Package Explorer 视图中,右键单击 MyJavaProject 并单击 New > Class
  2. 输入 test 作为包名,并输入 Test 作为文件名。
  3. 确保选择了 public static void main (String[] args)
  4. 单击 Finish,Java 编辑器打开了。
    图 5. 一个新的 Java 类
    图 5:一个新的 Java 类

修改 Java 类

  1. 在 Java 编辑器中,按照清单 1 中粗体所示的内容修改 Java 类:
    清单 1. test.Test 类的代码
    public class Test {
    
    	public static void main(String[] args) { 
    		System.out.println ("Hello,World!!");
    		System.out.println ("Hello, World Again!!"); 
    	} 
    }

    在您输入时,您可以使用 Code Assist (Ctrl-Space) 功能来帮助您完成关键字。

  2. 按下 Ctrl-S 保存文件。

运行 Java 应用程序

现在是时候运行您第一个应用程序了:

  1. 在 Package Explorer 透视图中,右键单击 Test 类并单击 Run > Java Application,如图 6 所示:
    图 6. 运行 Java 应用程序
    图 6:运行 Java 应用程序。
  2. 切换到 Console 视图来观察应用程序的结果,如图 7 所示。如果 Console 视图不可见,那么您可以通过 Windows menus > Show View > Console 切换过来。
    图 7. Console 视图
    图 7:Console 视图。

    Java 应用程序的运行输出显示在控制台中。您将看到 Java 应用程序所打印出的两行文本。


创建并调用 Web 服务

本练习示范了如何创建一个 Web 服务及在 JavaServer Pages(JSP)文件中调用它。Web 服务是基于开发标准接口,Web服务描述语言(Web Service Description Language,WSDL)的。每个 Web 服务都由一个 WSDL 接口 进行描述。此接口包含 Web 服务的端口类型、操作,及消息类型的定义。端口类型(port type)包含该服务所支持的操作集合。每个操作都有定义的输入和输出消息。在 Java 术语中,端口类型类似于类定义,操作类似于方法,输入输出消息类似于输入参数或方法的返回值类型。

创建一个 Web 服务非常直截了当。Web Service 向导自动地为您生成一切。在此实例中,创建一个返回硬编码的 IBM 股票价格的 Java 类。然后使用 Web Service 向导来使之成为 Web 服务。在此过程中,创建了一个 WSDL 文件,并且随后 JSP 客户端用它来调用 Web 服务。

要调用一个寄存于您本地或远程服务器上的 Web 服务,从 Web 服务提供者那里获得 WSDL 文件,然后在工具中生成代理。使用代理来调用 Web 服务。

Web 服务可以发送到公共注册处,称为 统一描述、发现和集成(Universal Description, Discovery and Integration,UDDI)。UDDI 提供 Web 服务的集中存储库。Web 服务提供者可以发布其 Web 服务,包括到 WSDL 文档的链接,到 UDDI 存储库,为了用户的发现及随后的使用。

您想要观看这些步骤的示范吗?

显示 demo显示 demo

创建一个新的 Web 工程

创建一个只包含 Java 类和所生成的 Web 服务的新的 Web 工程。Web 工程本质上是 J2EE 规范中的 Web 组件。随后您将在另一个 Web 工程中创建 JSP 客户端。

  1. 在工作台中,选择 File > New > Project
  2. 选择Web > Dynamic Web Project > Next。如果提示启用“Web Development”功能,就选择OK
  3. 输入 MyDemoWebServiceProject 作为工程名称。单击 Finish。如果提示切换到 Web 透视图,选择 Yes

创建一个 Java 类

创建一个作为 Web 服务后端的 Java 类。该 Java 类不真正地做什么事情,然而,实际上,Web 服务的后端可以做任何事,例如,通过 Enterprise Java Bean(EJB)处理信息,连接数据库,或甚至调用另一个 Web 服务。

  1. 在 Package Explorer 视图中,展开 MyDemoWebServiceProject并右键单击 Java Resources 并单击 New > Class
  2. 输入 demo 作为包名,并输入 DemoWebService 作为文件名。
  3. 确保不选择 public static void main (String[] args) 复选框。
  4. 单击 Finish,打开 Java 编辑器。
  5. 添加清单 2 中粗体显示的代码,并如下修改代码:
    清单 2. demo.DemoWebService 类的代码
    package demo;
    
    public class DemoWebService {
    	public double getQuote (String symbol){
    		if (symbol.equals ("IBM")){
    			return 120;
    		}
    		return 0;
    	}
    }
  6. 单击 Save

创建 Web 服务

创建一个 Web 服务极其简单。要创建一个 Java Web 服务:

  1. 右键单击 DemoWebService.java Java class > New > Other
  2. 在 New Wizard 窗口中,选择复选框 Show All Wizards,观察未激活功能的所有可用的向导。
  3. 展开 Web Services 并选择 Web Service。单击 Next。如果询问您启用“Web Services Development”开发,单击 OK
  4. 默认选择 Web 服务类型为 Java Bean Web Service
  5. 单击 Finish。Web Service 向导启动 WebSphere Application Server 并将所生成的 Web 服务部署到服务器上。现在 Web 服务已经在运行。
    图 8. 创建一个 Web 服务
    图 8:创建一个 Web 服务

    当向导完成时,您就已经成功地创建了第一个 Web 服务。您可以会见到生成了一些新的工件。它们是 DemoWebService_SEI.java 和 DemoWebService.wsdl。当下一个步骤调用该 Web 服务时,使用 WSDL 文件。

    图 9. Web 服务演示
    图 9:Web 服务演示

创建一个客户端 Web 工程

创建另一个寄存 JSP 客户端的 Web 工程,作为调用 Web 服务的客户端:

  1. 在工作台中,选择 File > New > Project
  2. 选择 Web > Dynamic Web Project > Next。如果提示启用 Web Development 功能,就选择 OK
  3. 输入 MyWebServiceClientProject作为工程名称。单击 Finish。如果提示切换到 Web 透视图,选择 Yes

从主机工程中复制 WSDL 文件

从 MyDemoWebServiceProject 中将 WSDL 文件复制到您的客户端 Web 工程中:

  1. 在 Project Explorer 视图中,展开 MyDemoWebServiceProject > WebContent
  2. 从 MyDemoWebServiceProject / WebContent 位置将 wsdl 文件夹复制并粘贴到 MyWebServiceClientProject / WebContent 位置。

    确保将 wsdl 文件复制到 WebContent 文件夹下的 MyWebServiceClientProject 处:

    图 10. 将 wsdl 文件复制到 MyWebServiceClientProject 处
    图 10:将 wsdl 文件复制到 MyWebServiceClientProject 处

在“真实”工作设置中,如果您正在调用一个外部 Web 服务,从服务提供者那里请求 WSDL 文件。

生成代理

由您之前复制的 WSDL 文件生成一个 Web 服务客户端:

  1. 展开 MyWebServiceClientProject 下的 wsdl 文件夹。 右键单击 DemoWebService.wsdl > New > Other
  2. 在 New Wizard 窗口中,选择复选框 Show All Wizards,观察所有可用的向导,包括那些用于当前未激活功能的向导。
  3. 展开Web Services 并选择 Web Service Client。单击 Next。如果询问您启用 Web Services Development 功能,就单击 OK
    图 11. 创建一个 Web 服务客户端
    图 11:创建一个 Web 服务客户端
  4. 在结果窗口中,确保选择了 Java proxy。单击 Finish。向导创建了一个只是调用 Web 服务的 Java 类的 Java 代理。
  5. 如果询问替代 web.xml 文件,单击 Yes。如果您获得异常,忽略它是正常且安全的。
  6. 名为 DemoWebServiceProxy 的代理生成于 Java Resources JavaSource 文件夹中。在下一个步骤中,创建一个 JSP 文件来使用此代理类调用 Web 服务。

创建一个 JSP 文件

  1. 在 Project Explorer 视图中,右键单击 MyWebServiceClientProject > New > JSP File
  2. 输入 MyWebServiceClient 作为文件名并单击 Finish
  3. 切换到 JSP 编辑器的源代码视图,并输入代码,如下面粗体所示:
    清单 3. MyWebServiceClient.jsp 的代码
    <BODY>
    <P>Place content here.</P>
    <%
    double quote =0;
    try {
    	demo.DemoWebServiceProxy proxy = new demo.DemoWebServiceProxy();
    	quote = proxy.getQuote("IBM");
    	
    }catch (Exception e) {
    e.printStackTrace();
    }
     %>
    <%="Quote: " + quote %>
    </BODY>
  4. 按下 Ctrl-S 保存文件。

在浏览器中运行 JSP 文件

  1. 在 Server 视图中启动服务器,然后使用 URL 运行 JSP 文件: http://localhost:9080/MyWebServiceClientProject/MyWebServiceClient.jsp 。另一种方法,右键单击 JSP 文件并选择 Run on Server
  2. 在 Project Explorer 视图中,右键单击 MyWebServiceClient.jsp 文件并选择 Run > Run on Server
  3. 选择现有的服务器并单击Finish以自动地将工程添加到服务器上,并在内部浏览器中运行 JSP 文件:
    图 12. 运行 MyCurrencyClient.jsp
    图 12:运行 MyCurrencyClient.jsp
  4. JSP 文件调用代理,代理依次调用 Web 服务。在此练习中,Web 服务和客户端运行在同一个 WebSphere Application Server 上,但它们还可以运行在不同的服务器上。因为客户端只需要 WSDL 文件来调用 Web 服务,所以它存在哪里没关系。
    图 13. 运行 MyWebServiceClient.jsp
    图 13:运行 MyWebServiceClient.jsp

创建一个访问数据库的 Web 应用程序

在最后的练习中,使用关系记录列表(Relational Record List)来创建一个可以访问 Cloudscape 数据库的 Web 应用程序。首先创建一个 Web 工程,然后向 Web 应用程序添加数据库显示功能。

您想要观看这些步骤的示范吗?

显示 demo显示 demo

创建一个新的 Web 工程

Web 应用程序开发可以在 Web 透视图中完成。所有的 Web 要素,例如 JSP 页面和 Java servlet,都存储在 Web 工程中。

J2EE 应用程序包含若干组件:Application ClientWeb,和Enterprise JavaBeans (EJBs)模块。每个模块(module)是可以单独部署到或运行在服务器上,或者作为企业应用程序中一个组的独立单元。在此练习中,您处理一个 Web 模块。

  1. 在工作台中,选择File > New > Project
  2. 选择Web > Dynamic Web Project > Next
  3. 输入 MyWebProject 作为工程名称。Show Advanced 按钮显示高级设置。单击它,显示名为 MyWebProjectEAR 的默认企业应用程序工程。单击Finish
  4. 当询问您切换到 Web 透视图时,单击Yes

创建一个 JSP 文件

Web 工程包含的主要内容是 JSP 文件和 servlet。其他 Web 要素,例如,HTML、样式表,和图像,也存储在 Web 工程中。图 14 显示出 Web 工程的结构,其中不同的 Web 要素位于不同的位置。

当您创建完 Web 工程之后,您会在 Dynamic Web Projects 文件夹中见到它。Web 工程遵从 J2EE 标准而建立,以 WAR 文件导出,用以部署。Java servlet 和其他支持的 Java 类存储于 Java Resources 目录下的 JavaSource 文件夹中。JSP 文件、HTML 页面、样式表、Java script 文件,和图像存储在 WebContent 目录下。Web Deployment Descriptor,web.xml,包含 Web 应用程序的部署配置。它必须出现在 Web 模块中,用以部署到 J2EE 服务器上,例如 WebSphere Application Server。

图 14. Web 工程的结构
图 14:Web 工程的结构
  1. 右键单击 MyWebProject > New > JSP File
  2. 输入 MyFirstJSP 作为文件名,并单击 Finish。注意到 JSP 文件生成于 WebContent 文件夹下。
  3. 使用 DesignSource 视图,在编辑器中修改 JSP 文件。切换到 Source 视图。
  4. 在编辑器中输入 粗体代码。此行称为 scriptlet,是封闭在 <% 和 %> 中的 Java 代码。您可以在这些括号中输入任何 Java 代码。您还可以利用 scriptlet 在 JSP 文件中打印一些内容。例如,<%="hello"%> 打印出文本 hello。
    清单 4. MyWebServiceClient.jsp 的代码
    <BODY>
    <P>Place content here.</P>
    <%
    String a = "Hello";
    a+= "World!!";
     %>
    <%=new java.util.Date()  %>
    <%=a %>
    <BR>
    </BODY>
  5. 按下 Ctrl-S 保存。

在浏览器中运行 JSP 文件

利用 Application Developer,您可以在内嵌的服务器中运行 JSP 文件。在 Server 视图中启动服务器,然后利用 URL http://localhost:9080/MyWebProject/MyFirstJSP.jsp运行 JSP 文件。另一个方法是右键单击 JSP 文件并选择 Run on Server

  1. 在 Project Explorer 视图中,右键单击 MyFirstJSP.jsp 文件并选择 Run > Run on Server
  2. 选择一个现有的服务器并单击 Finish 来自动向服务器中添加工程,并在内部浏览器中运行 JSP 文件:
    图 16. 运行 MyFirstJSP
    图 16:运行 MyFirstJSP

创建一个数据库连接

Application Developer 有许多关系数据库工具,或 视图,这些可以通过 Data 透视图来访问。此透视图中更重要的一些视图是 Data Definition、Database Explorer,和 DB Output 视图。

在 Database Explorer 视图中,可以连接到一列支持的关系数据库上。一些支持的数据库是 IBM Cloudscape、IBM DB2 Universal Database、Microsoft SQL Server、Sybase Enterprise Systems,和 Oracle Database。参考产品帮助以获得支持数据库的完成列表。

在此步骤中,创建一个到加载在 Application Developer 中的 Cloudscape 数据库的数据库连接。Cloudscape 数据库可以使用任何文件系统文件夹作为数据库。在试图建立连接之前,您不需要创建数据库。如果您选择了 Create the database if required,Cloudscape 数据库在连接建立之前就生成了。

Cloudscape 一次只接受一个数据库连接。例如,如果一个 WebSphere Application Server 已经连接到 Cloudscape 数据库上,那么来自 Database Explorer 的连接将失败。

按照以下步骤创建一个 Cloudscape 连接:

  1. 如果服务器正在运行,现在将其停止,否则您将不能建立数据库连接。在 Servers 视图中,右键单击 WebSphere Application Server 并且选择 Stop
  2. 切换到 Data 透视图。选择 Window > Open Perspective > Other。选择 Show all 复选框并选择 Data。单击 OK。如果询问启用 Core Database Development 功能,选择 OK
  3. 右键单击位于透视图左下角的 Database Explorer并单击 New Connection
  4. 单击 Choose a database manager and JDBC driver。输入 Con1 作为连接名。单击 Next
  5. 如图 17 所示,数据库管理器默认为 Cloudscape V5.1。在 Database location中输入任意文件系统目录,例如C:\HelloWorldSeries\AddressDB。您不需要物理地在文件系统中创建文件夹。只要输入一个新的文件夹名称。确保选择了 Create the database if required 复选框。如果选择了,工具将在该位置建立 Cloudscape 数据库。因为 Cloudscape 是测试数据库,所以您不需要用用户 ID 和密码来连接它。在用户信息区域输入任意的用户 ID。
  6. 单击 Test Connection 来观察连接是否建立。您应该会看到一个表明连接成功的窗口。单击 Finish 创建该连接。如果它返回一个声称用户名无效的错误,那么将用户 ID 和密码设为空。
  7. 当询问将数据库元数据复制到工程文件夹时,单击 No
    图 17. 创建一个 Cloudscape 数据库连接
    图 17:创建一个 Cloudscape 数据库连接
  8. Con1 出现在 Database Explorer 视图中。展开连接看到 AddressDB,如图 18 所示:
    图 18. Database Explorer Con1 连接
    图 18:Database Explorer Con1 连接

创建一个数据库定义

现在,数据库是空的。使用 Data Definition 视图来创建模式(schema)和表定义。数据库定义(database definition)是您在工作区中定义的,不存在于数据库中的东西。随后在此实践经验中,将定义部署到实际数据库上。

  1. 在 Data 透视图的 Data Definition 视图中,右键单击 MyWebProject 并单击 New > Database Definition
    图 19. 创建数据库定义
    图 19:创建数据库定义
  2. 输入 AddressDB 作为数据库名称。选择 Cloudscape V5.1 作为 Database vendor type,并单击 Finish
  3. 展开 MyWebProject。右键单击 ADDRESSDB 并单击 New > Schema Definition
    图 20. 创建模式定义
    图 20:创建模式定义
  4. 接受模式定义窗口中的所有默认值。单击 Finish
  5. 创建名为 AddressTable的表定义。右键单击新生成的 SCHEMA1 > New > Table Definition
    图 21. 创建表定义
    图 21:创建表定义
  6. 输入 AddressTable作为表名,并单击 Next
  7. 单击 Add Another来添加列。输入 id作为列名。选择INTEGER作为列的类型并单击 Key column 复选框。
  8. 单击 Add Another。输入 name 作为列名。选择 VARCHAR 作为列的类型。将字符串长度改为 100
  9. 单击 Add Another。输入 address 作为列名。选择 VARCHAR 作为列类型。将字符串长度改为 200
  10. 单击 Finish
    图 22. AddressTable 表的列
    图 22:AddressTable 表的列
  11. 在 Data Definition 视图中,右键单击新生成的 SCHEMA1.ADDRESSTABLE并单击 Deploy。单击 Next,然后再次单击 Next。这次在 Cloudscape 数据库中创建了 SCHEMA1 和 AddressTable:
    图 23. 部署模式定义
    图 23:部署模式定义
  12. 单击 Use existing connection 复选框。选择 Con1 作为数据库连接。单击 Finish
  13. 在 Database Explorer 中右键单击连接 Con1 并单击 Refresh
    图 24. 刷新数据库连接
    图 24:刷新数据库连接
  14. 展开连接,直到您看到 Tables 文件夹。您会看到刚生成的模式和 AddressTable:
    图 25. 模式定义部署之后
    图 25:模式定义部署之后

创建一条插入语句

尽管您在数据库中创建了表,但是没有数据。创建一条能够向表中插入记录的 Insert 语句。

  1. 在 Data Definition 视图中,展开 MyWebProject > ADDRESSDB。右键单击Statements 并单击 New > Insert Statement
    图 26. 创建插入语句
    图 26:创建插入语句
  2. 输入 CreateRecord 作为名称,并单击 OK
  3. 右键单击中间的标签为 Tables 的面板,并单击 Add Table。选择 SCHEMA1.ADDRESSTABLE 作为表名。单击 OK
  4. 单击 AddressTable 中的所有三个复选框以选择 AddressTable 中的所有列。
  5. 在编辑器底部的面板中,输入 1 作为 ID 列的值。输入'Jane' 作为 name 的值,'8200 Warden Ave' 作为 address 的值。
  6. 保存文件并关闭编辑器。
    图 27. Insert Statement 编辑器
    图 27:Insert Statement 编辑器
  7. 在 Data Definition 视图中,右键单击 CreateRecord 并单击 Execute。选择 Use an existing connectionCon1。单击 NextFinish。如果您得到了一个声称“Array index out of range: 0”的错误,那么在执行语句时,使用一个新连接来替代复用现有的连接。
    图 28. 执行 CreateRecord
    图 28:执行 CreateRecord
  8. 来到 Database Explorer 视图。右键单击连接 Con1 并单击 Refresh
  9. 在 Database Explorer 视图中展开 AddressDB,直到您看到 SCHEMA1.ADDRESSTABLE。右键单击 AddressTable 并单击 Sample Contents
    图 29. 示例内容
    图 29:示例内容
    图 30. 示例内容结果
    图 30:示例内容结果

修改 JSP 文件以显示数据库内容

在此步骤中,向 MyFirstJSP.jsp 中添加关系记录列表以显示表内容。关系记录列表(Relational Record List)让您在不做任何 JDBC 编码的情况下连接数据库。将记录列表拖拽到 JSP 文件中以生成只读列表。

  1. 切换到 Web 透视图并在编辑器中打开 MyFirstJSP.jsp。
  2. 在编辑器中,切换到 Design 视图。在 Palette 中,单击 Relational Record List 并将其放到 JSP 编辑器画布的底部。使用关系记录列表来生成页面可用的多行数据,例如来自一个表的所有行。
    图 31. 关系记录列表
    图 31:关系记录列表
  3. 输入 addressTableRecordList 作为 Name。单击 Next
  4. 单击 New 来创建新连接。
  5. 在 New Connection 窗口中,您应该会看到现有的 Con1 连接。在 Con1 中选择 AddressDB,如图 32 所示。单击 Finish
    图 32. 在关系记录列表中创建一个新的连接
    图 32:在关系记录列表中创建一个新的连接
  6. 选择 SCHEMA1.ADDRESSTABLE 并单击 Finish。显示数据库行的表在 JSP 页面上生成。
    图 33. 为关系记录列表选择数据库行
    图 33:为关系记录列表选择数据库行
  7. 保存文件。图 34 显示出最终的 JSP 页面:
    图 34. 含有关系记录列表的 JSP 编辑器
    图 34:含有关系记录列表的 JSP 编辑器

在浏览器中运行 JSP 文件

启动服务器并运行 JSP 文件。

  1. 在 Server 视图中,右键单击 WebSphere Application Server 并选择 Start
  2. 右键单击 WebSphere Application Server > Restart Project > MyWebProjectEAR。因为您修改了工程,所以重新启动 EAR 来获得变更。当您运行 JSP 文件时,这将防止 NullPointerException 错误的出现。如果该错误仍旧持续,那么添加或从服务器上删除工程。右键单击服务器 > Add or remove projects,选择 MyWebProjectEAR 并在右边窗格中删除它。单击 Finish,然后重复动作,向右边窗格添加 MyWebProjectEAR
  3. 在运行 JSP 文件之前,等待发布完成。在 Project Explorer 视图中,右键单击 MyFirstJSP.jsp 并选择 Run > Run on Server。单击 Finish
  4. JSP 显示出来自 AddressTable 的行。向 AddressTable 中添加更多行,并再次运行 JSP 文件。您应该会在 JSP 中看到更多行。
    图 35. 运行 JSP 文件
    图 35:运行 JSP 文件

总结

本教程提供了 Rational Application Developer 的介绍。您创建了一个 Java 应用程序、Web 服务应用程序,和数据库应用程序。

等待本系列下一个将介绍 WebSphere Integration Developer 的部分。要得到所有的 Hello World 文章,查看 Hello World 系列概述页

参考资料

学习

获得产品和技术

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational, Java technology
ArticleID=157432
ArticleTitle=Hello World,第 2 部分: Rational Application Developer
publish-date=08102006