使用 WebSphere Studio Application Developer 创建数据库应用程序

简介
WebSphere® Studio 和 VisualAge® for Java™ 目前正在被一种新产品所取代,它就是 IBM WebSphere Studio Application Developer。Application Developer 提供了:

  • HTML 和图像编辑支持
  • 创建和维护 JSP™ 的能力
  • Java 开发环境
  • 企业工具,包括集成的 WebSphere Application Server 高级单服务器版,版本 4.0 来帮助您进行测试。

可以在 WebSphereStudio Application Developer网站上找到有关 Application Developer 的完整描述并且可以下载其试用版。

本文中,我将向您演示如何生成那些访问并显示存储在数据库中数据的 Web 页面。这个功能部件在较早的 WebSphere Studio 3.5 版本中已经存在了,但是现在,使用 WebSphere StudioApplication Developer,不必在多个工具之间移动代码,我们就能方便地编辑生成的源代码并测试其功能。

要读懂本文,我建议您要对 Java、servlet、JSP 和数据库访问有基本的理解。您无须非常熟悉 Application Developer,但我真的建议您先阅读一下 Application Developer 联机帮助文档中的 Getting Started 一节。在 Application Developer 中,选择 Help => HelpContents。从下拉列表中选择 Application Developer Documentation,您将看到 Getting Started 一节。

您将学到什么
在读完本文后,您将能生成允许访问数据库的页面和代码。您将具有修改代码和 JSP 的能力,并能在集成的 WebSphere Application Server 内测试它们。您应该更自信在 Application Developer 中找到您的方法。

生成的代码使用 Dispatcher View 设计模式。这个模式有一个控制器用于控制业务逻辑和其它关联任务,如日志记录和认证。这个控制器将控制传递给 View(它显示这个信息)和视图助手(在视图和控制器之间完成交互)。有关这种模式的详细信息,请参阅 Java Developer Connection。要访问这个页面您需要注册,但注册是免费的。

样本案例
我们将构建一个简单的数据库应用程序:向用户显示一个登录页面,并在用户成功登录后,将显示一些客户信息。

我们将通过 Web 页面把一个数据库展现给用户。我们将通过使用 servlet 和 JSP 这样的 Java 技巧来实现这个数据库。在教程中我们将使用的数据库是 DB2®,但是您也可以使用任何符合 JDBC 的数据库。

教程

步骤 1:设置数据库
首先,您需要有一个数据库和表来存储并从中检索数据。在示例中,我使用称为 NETMAIL 的数据库和称为 USER 的表。您需要从 DB2 Command Window 中运行以下命令。从 Start菜单上,自 DB2 文件夹中选择 Command Line Processor


> CREATE DB NETMAIL

> CONNECT TO NETMAIL

> CREATE TABLE USER (

     USER_ID INTEGER NOT NULL ,

     FIRST_NAME CHAR(40) NOT NULL ,

     LAST_NAME CHAR(50) NOT NULL ,

     COUNTRY CHAR(50) ,

     USERNAME CHAR(40) ,

     PASSWORD CHAR(40) )

> INSERT INTO USER (USER_ID,FIRST_NAME,LAST_NAME,COUNTRY,USERNAME,PASSWORD) 
  VALUES (4,'Donald','Duck','US','Don','D')

> INSERT INTO USER (USER_ID,FIRST_NAME,LAST_NAME,COUNTRY,USERNAME,PASSWORD) 
  VALUES (2,'Shaun','Sheep','UK','shaun','password')
    

要检查添加的数据是否正确,请运行:


> SELECT * FROM USER
    

这应该报告“'2 record(s) selected.”。

步骤 2:创建 Web 项目
我们必须创建一个 Web 项目来保存与这个 Web 应用程序相关的所有代码和资源。

  1. 要做到这一点,通过选择 Perspective => Open => Other进入 Web 透视图。从列表中选择 Web,然后单击 Open按钮。
  2. 要创建新项目,选择 File => New => Web Project
    注: File => New列表根据您所进入的透视图而改变,因此如果您不在 Web 透视图中,那么将不会看到 Web Project 选项。
  3. 在得到的对话框中,将项目名设置为 NetMail ,而使其余各项保持不变。EAR Project Name 是为测试而将这个 Web 项目部署到的位置,并且它可以保留为 DefaultEAR
  4. 选择 Finish

您将看到在 Navigator 窗格中已经创建了两个项,每个项中都有许多诸如 web.xmlapplication.xml 的文件(见下面的图 1)。要运行 Application Server 需要这些文件;它们是由 J2EE 规范和通过 WebSphere Application Server 指定的。您不需要确切地理解它们是什么,但可以对它们双击来查看与它们关联的编辑器。对于每个文件,Application Developer 都有特定的编辑器,但是因为这些是 XML 文件,所以您也能通过使用 XML 编辑器或者您期望的文本编辑器来编辑它们。

图 1. Web 透视图
Web 透视图的抓屏

步骤 3:创建 Java 包
根据代码执行的角色将代码保存在不同的 Java 包中是一个好主意。要创建 Java 包:

  1. 选择 File => New => Other。然后,在左边窗格中选择 Java,在右边窗格中选择 Java Package
  2. 选择 Next然后输入您选择的包名称。在这个示例中,我选择使用的名称是 com.netmail 。如果 Folder 域是空的,那么浏览至 NetMail/source
  3. 选择 Finish。您将看到在 NetMail Web 项目的 source 目录中创建了这个包的结构。

图 2. 现在创建了 Java 包
已创建 Java 包的 Web 透视图的抓屏

步骤 4:通过使用 Database Web Page 向导创建应用程序

  1. 在 Web 透视图中,选择 File => New => Other。选择 Web,然后选择 Database Web Pages
  2. 在向导的 Create Web Pages to Access a Database 页中,将 Destination Folder 设置为您已创建的 Web 项目及其 Web 应用程序文件夹,例如, NetMail/webApplication
  3. 取消选择 Detail Form复选框。选择这个选项允许我们过滤从输入页面上选择的数据。但是,由于我们将使用唯一的用户名和密码组合,将只选择一个记录,所以不需要过滤数据。
  4. 在 Java package 选项中,选择 Browse,然后选择您刚创建的包,即 com.netmail 。包名称将出现在按钮左边的框中。
  5. 在 Model 文件中,选择 View Bean。这些模型都是类似的,但是 View Helper 的节点不同。对于 View Bean 模型,View Helper 是管理所有数据库交互的 Java 封装器类;对于 Tag Lib 模型,使用一组定制 JSP 标记来管理数据库交互作用。

图 3. 正确填写的 Create Web Pages to Access a Database 页
正确填写的 Create Web Pages to Access a Database 页的抓屏

  1. 使其余各项保持不变,然后单击 Next
  2. 在下一页上,选择 Be guided through creating an SQL statement。同时选择 Connect to database and import a new database model选项。现在,单击 Next
  3. 在 Database Connection 页上,Connection Name 是一个逻辑名称,它可以是您所希望的任何名称。使它保持不变。Database Name、Username 和 Password 必须与已经在数据库中完成设置的各项相匹配。

    如果正在使用安装在同一台机器上的 DB2,那么确保在您的机器上正确设置了“class location”域。如果正在使用另一个数据库,或者是一台远程机器上的 DB2,那么从 Database vendor 下拉菜单中选择相应的数据库。然后必须输入您所选择的数据库的适当信息,比如主机名、JDBC 驱动程序类位置等等。

  4. 最后,单击 Connect to Database。如果成功的话,它将向您显示允许您从数据库中选择项的页面。否则,它将显示它接收到的正试图连接的错误信息。

步骤 5:从数据库中选择数据

  1. 一旦成功连接到数据库后,在 Tables视图中,展开模式(在本例中是 DB2ADMIN)和表节点,并选择已创建的 USER 表。其名称中到“.”为止的第一部分是在 DB2 中的模式名称(Schema name);这取决于哪个用户创建了这张表。对于其它数据库,这可能是不同的。
  2. 单击右箭头按钮以将这个表移到 Selected tables 列表中。

图 4. 向导的 Construct an SQL Statement 页的 Tables 视图
向导的 Construct an SQL Statement 页的 Tables 视图的抓屏

  1. 现在,选择 Columns选项卡。在 Available columns 窗格中展开这个表并选择要在结果页中显示的数据。选择 USER_IDFIRST_NAMELAST_NAMECOUNTRY,并使用右箭头按钮将它们移到 Selected columns 列表中。

图 5. 向导的 Construct an SQL Statement 页的 Columns 视图
向导的 Construct an SQL Statement 页的 Columns 视图的抓屏

  1. 现在想要根据我们给出的用户名和密码过滤我们的选择项。单击 Conditions选项卡。
  2. 在显示的网格中,单击单元格创建一个带有可用选项的下拉列表。这个下拉菜单可能要花一点时间出现。
  3. 应该选择:

    Column Operator Value And/Or
    DB2ADMIN.USER.USERNAME=:usernameAND
    DB2ADMIN.USER.PASSWORD=:passwd 

  1. 在“Value”列中,您可以使用表达式构建器或者手工输入变量。如果手工输入,一定要记住在前面输入“:”。在访问网格中的下一行之前,必须在“And/Or”列中选择一个选项。如果在第二行不能选择单元格,那么可能是因为您把这一点给忘了。
  2. 选择 Next,将向您显示构造好用来执行查询的 SQL。
  3. 选择 execute 按钮可以检查 SQL。选择 execute,并将参数输入到网格中的相应值单元格中。因为输入的是 String 值,所以要确保用单引号(')将文本括起来,并注意这些值是区分大小写的。在运行时,这些值将由用户提供。标准 JDBC 不支持已命名的参数;在 SQL 语句中它们以“?”表示并按位置引用。生成的代码使用 IBM DBBeans,它为 SQL 语句中已命名的参数提供支持。选择 Finish来查看结果并确保查询返回您期望的数据。
  4. 选择 Next
  5. 不需要对指定运行时数据库连接信息屏幕中的内容作任何更改。如果在应用程序服务器中使用了数据源,那么可以在这里引用它。
  6. 选择 Next

步骤 6:定制 Web 页面
现在可以定制要创建的缺省 Web 页面。

  1. 使用第一页来为您的数据设计输入表单。在 Host variables 窗格中,选择 username。在左下的属性表中,选择 Label并更改 username 使它以大写字母开头,并确保初始值为空。您将在右边的 Web 页面视图上看到更改。 
  2. 选择 passwd将其 Label 更改成 Password ,将 Input Type 更改成 password
  3. 在属性表中,选择 Page选项卡并将 Page Title 更改成 Login Page 。单击属性页中的另一个单元格以确保更改没有丢失。

图 6. 通过使用向导的 Design an Input Form 页定制 Web 页面
通过使用向导的 Design an Input Form 页定制 Web 页面

  1. 选择 Next
  2. 在 Result 页上,可以将列的标签更改为更具可读性的名称。

图 7. 向导的 Create Main Result Table Web Page
向导的 Create Main Result Table Web Page

  1. 选择 Next。在 Specify Prefix 页上,将前缀更改为可以描述页面的功能的内容;在本例中,它将是 Login
  2. 选择 Finish。就将创建 Web 页面和 Java 代码。

    文件将在几个位置中创建。在源目录中将创建两个 Java 源文件。一个控制 Web 页面的交互,另一个用来存储数据库结果。在 View Helper bean( LoginMasterViewBean.java )中,它使用 com.ibm.db.bean 包。可以在下面的文件中找到有关使用 IBM dB Beans 的 Javadoc 信息:

    {install_dir}/plugins/com.ibm.etools.webtools/jars/dbbeans_javadoc.zip

    创建了两个相应的 Web 页面:一个有用来输入登录信息的域的 HTML 文件和一个显示结果的 JSP 文件。在这些文件上双击来查看和编辑它们。

图 8. Application Developer 的 Web 透视图 ? 现在显示新创建的文件
Application Developer 的 Web 透视图的抓屏

Application Developer 提供的一个主要好处是在一个工具内,快速方便地在编辑 HTML 文件、JSP 文件和 Java 代码之间进行切换的能力。所做的更改还在测试环境中自动更新。更改、构建、部署和测试周期删减为只有更改和测试周期,这样很大程度上减少了开发时间。

步骤 7:测试应用程序
测试新数据库应用程序很简单。

  1. 在输入 HTML 文件( LoginInputForm.html )上单击鼠标右键并选择 Run On Server。为应用程序服务器创建相应的配置文件不会花很长的时间,然后将显示 Web 页面。
    Application Developer 将视图切换到 Server 透视图;这用来控制与这个工具集成在一起的 WebSphere Application Server。
  2. 如果已经在数据库中输入了一些数据,那么可以输入用户名和密码。
  3. 根据您正在使用的数据库,可能需要将数据库的 JDBC 类添加至服务器。如果您获得一个与下面显示类似的错误信息,即表明它不能找到 JDBC 驱动程序类(它不能找到的确切类将取决于您正在使用的数据库),那么您需要按后面所述的那样做:

    Error Message:Cannot find the class for the specified JDBC driver COM.ibm.db2.jdbc.app.DB2Driver.
    com.ibm.db.beans.DBException: ...

    要解决这个问题很简单。在窗口左下的 Server Configuration 窗格中,展开 Server Instances,在 WebSphere v4.0 Test Environment上单击鼠标右键,然后选择 Open

    在主窗口中,单击 Paths选项卡然后添加 JDBC 驱动程序需要的类。当第一次在服务器上运行应用程序时,您才需要这样做。

  4. 确保保存了更改;要么按 Ctrl-S要么关闭主 WebSphere v4.0 Test Environment 窗口。名称旁的 * 表明它还没有被保存。
  5. 您需要重新启动服务器。在右下的窗格中,选择 Server Control Panel,在服务器实例 WebSphere v4.0 Test Environment上单击鼠标右键,然后选择 Start。等待控制台中显示“open for e-business”消息。

图 9. Server Configuration 和 Server Control Panel 窗格
Server Configuration 和 Server Control Panel 窗格

  1. 转回到 Web 浏览器并单击 Back。现在您将看到数据输入页面。如果需要,重新输入数据并单击 Submit。现在显示的是结果 Web 页面。

图 10. 带有显示的数据的 Web 浏览器
显示数据的 Web 浏览器

现在我们有一个可运行的应用程序,它接受用户输入到 Web 页面的数据并从与较早输入的用户数据相关联的数据库中检索数据。

步骤 8:创建部署的 EAR 文件
既然应用程序是可运行的,那么这个项目应导出到一个 EAR 文件中,准备好部署到测试或者生产服务器上。

要做到这一点,选择 File => Export。从列表中选择 EAR 文件,然后选择当我们最初创建这个 Web 项目的开始时候所选择的 DefaultEAR。选择要创建这个 EAR 文件的位置,然后单击 Finish

现在将创建 EAR 文件,准备好部署到 WebSphere Application Server 4.0 环境中。

结束语
您已经学会了使用 WebSphere Studio Application Developer 来创建简单的数据库应用程序。这个 Web 应用程序使用了 HTML、JSP、servlet 和 Java 代码,并且使用集成的 WebSphere Application Server 进行测试。最后,这个应用程序被部署在 Java 标准 EAR 文件中,准备好被部署到一个完整的测试环境中。

我希望本文演示了单一工具 WebSphere Studio Application Developer 的生产率好处,它允许您处理构成交互式 Web 应用程序的所有组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值