[转载]用 WebSphere Studio Application Developer开发J2EE 应用程序

用 WebSphere Studio Application Developer开发J2EE 应用程序


WebSphere Studio Application Developer是IBM最新的J2EE开发工具,它从不同开发者的视角对整个J2EE环境提供了广泛的支持。但正是因为它庞大的功能,相对于其他 IDE来说,开发者需要更多的时间用于熟练掌握。本文将介绍我的开发经验,希望广大的开发者能够快速上手,体会WSAD强大而新颖的集成环境。

为什么要写这篇教程

Websphere开发者园地已经刊登了Sheldon Wosnick的 WSAD教程,您也可以浏览IBM红皮书或WSAD的帮助,但在实际开发中,以下原因使我感觉有必要对上述文章进行补充:

  1. 开发者往往将Websphere与DB2或Oracle结合使用,而Sheldon Wosnick只提供了文件型的InstantDB数据库作为范例。
  2. Sheldon没有介绍数据库表格映射到Entity Bean的步骤,而这一点是在实际应用中经常用到的。
  3. IBM红皮书和WSAD的帮助比较简略,且侧重于Web Service方面,没有使用过Visual Age for Java的用户可能不太习惯WSAD中的EJB开发方式。

因 此,我将借鉴各位IBM专家的成果,采用Step by Step的形式,介绍在WSAD中如何开发和测试一个简单的J2EE系统。本文侧重于IBM前后端产品的整合应用,包括Websphere Application Advanced Single Server 4.0 Edition和DB2 7.1 Edition,您可以从IBM的网站上下载这些产品的免费版本。与Sheldon教程相同的部分将不再重复,您可以参考他的文章。


blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


1. 创建工程

一个完整的J2EE工程应包含Application client project、EJB project和Web project三种模块。确认自己处于J2EE View视图下,让我们从头创建一个工程:

  1. 单 击【File】/【New】/【Enterprise Application Project】,创建一个名为HelloWorld的工程(当然您也可以起自己喜欢的名字,我们文章中的各种名称都是可更换的)。在弹出的 【Enterprise Application Project Creation】窗口中输入各模块的名字,选择工程文件的目录,单击【Finish】即可创建。
  2. 展开J2EE View中的Enterprise Applications目录,双击HelloWorld工程,右侧编辑区出现application.xml窗口。选择底部的【Modules】选项卡,将显示该工程的组成模块,如图1所示。
    图1 HelloWorld工程的组成模块
    图1 HelloWorld工程的组成模块

blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


2. 创建EJB project

注 意到图1模块中的xey.jar文件了吗?这是我们创建的EJB Project,您可以在J2EE View的EJB Modules目录下发现所有的EJB项目。如您所知,EJB分为Session Bean和Entity Bean。下面,让我们分别添加两种Bean类型的文件。

2.1 创建Session Bean

  1. 在J2EE View窗口中右击鼠标,选择【New】/【Enterprise Bean】,弹出【Create EJB】窗口,如图2所示。
    图2创建Session Bean
    图2创建Session Bean
  2. 如上图所示,填入EJB project、Bean type和package等信息。如果用户输入错误,窗口的抬头处会出现错误原因的说明。单击【Finish】按钮即可创建。
  3. 在J2EE View窗口中展开创建过的名为Tell的Session Bean,双击TellBean,编辑实体部分,如图3所示。
    图3 编辑Session Bean
    图3 编辑Session Bean
  4. 如上图所示,加入getTellNo()方法,右击编辑区,选择【Save】,或直接按【Ctrl+S】保存。
  5. 和VAJ 一样,用户可以方便地将Session Bean中的方法提升到远程接口中。如图4所示,找到桌面左下角的Outline窗口(如果您移动或隐藏了该窗口,可以单击菜单栏的 【Perspective】/【Reset】恢复初始布局),右击getTellNo(String)方法,选择【Enterprise Bean】/【Promote to Remote Interface】即可。
    图4 Outline窗口
    图4 Outline窗口
  6. 在J2EE View窗口中双击Tell文件,可以看到这个远程接口中自动添加了getTellNo()方法的定义,如图5所示。
    图5 Tell.java
    图5 Tell.java

至于Session Bean的其他要点,Sheldon的 WSAD教程中已有详细的介绍,这里就不再赘述了。

2.2 创建Entity Bean

如 何创建Entity Bean?通常由两种方法:自顶向下映射(top-down mapping)和由底向上映射(bottom-up)方式。前者是在Entity Bean的设计中为数据库建模,而后者导入已有的数据库表格并与Entity Bean匹配。在实际的开发中,我们需要将原有的系统移植到J2EE体系,往往采用后者来利用已有的数据库结构。Sheldon的 WSAD教程介绍了自顶向下映射的方式,而本文将就由底向上映射的解决方案作一阐述。具体步骤如下:

  1. 在DB2数据库中,我们已经有了一个简单的数据表Teacher。它位于HELLO 库中,结构如表1所示:

    Column nameDatatypePrimary Key
    IDIntegerYes
    NAMEVARCHARNo
  2. 建 立名为Teacher的Entity Bean(当然可以是其他的名字),在【Create EJB】窗口的【Add persistence fields to the bean】区域中,单击【Add】按钮,根据Teacher表的结构添加字段。请您注意,要将id指定为key字段,如图6所示。
    图6 建立Teacher表的Entity Bean
    图6 建立Teacher表的Entity Bean
  3. 单击【Perspective】/【Open】/【Other】,在弹出的窗口中选择"Data",切换至Data视图。
  4. 鼠标右击左方的DBExplorer窗口(如果它被隐藏了,可以单击【Perspective】/【Show View】/【Other】来选择激活),选择【New Connection】,弹出创建数据库连接窗口,如图7所示。
    图7 数据库连接窗口
    图7 数据库连接窗口
  5. 在上图中填入数据库的名称、版本、用户名、密码和JDBC驱动程序位置等信息,单击【Finish】按钮建立连接。展开的数据库信息如图8所示。
    图8 数据库信息
    图8 数据库信息
  6. 右击ADMINISTRATOR.TEACHER表,选择【Import to Folder】,在弹出的窗口中选择目录,将Schema信息导入到{项目}/ejbModule/META-INF/Schema目录下。
  7. 切换至J2EE视图,在J2EE View窗口中,右击我们创建的EJB项目,选择【Generate】/【EJB to RDB Mapping】,在弹出的窗口中选择【Meet In The Middle】方式,单击【Finish】建立映射。
  8. 在左方J2EE View窗口的底部,您可以点击Navigator选项卡,切换至Navigator窗口方式。在项目的META-INF目录中找到Map.mapxmi项,双击打开映射编辑器,如图9所示。
    图9 映射编辑器
    图9 映射编辑器
  9. 先在左边的EJBs窗口中点选名为Teacher的Entity Bean,再在右边的Tables窗口中右击同名的表格,选择【Match by Name】,建立映射,结果如图10所示。
    图10建立映射
    图10建立映射
  10. 单 击【Perspective】/【Open】/【Server】,切换至Server视图。在左下方的Server Configuration窗口中双击Websphere Administrative Domain,打开右方的Websphere Administrative Domain编辑窗口,如图11所示。
    图11 Websphere Administrative Domain编辑窗口
    图11 Websphere Administrative Domain编辑窗口
  11. 在JDBC driver list区域中选择Db2JdbcDriver驱动。
    注 意:如果您使用的是低版本的DB2,务必要升级到JDBC2.0驱动,才能利用 COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource连接缓冲池驱动。方法是运行{DB2根目录} /java12/usejdbc2.bat文件,升级db2java.zip包。
  12. 在Data Source defined in the JDBC driver selected above区域中,单击【Add】按钮,添加Data source,如图12所示。按【Ctrl+S】保存设置。
    图12添加Data source
    图12添加Data source

    推荐的JNDI name是以jdbc开头的,当然您也可以自由填写。
  13. 切 换至J2EE视图,打开J2EE View窗口,右击EJB项目,选择【Open with】/【EJB Extension Editor】,切换到【Bindings】选项卡,展开EJB项目,选择我们刚才建立的名为Teacher的Entity Bean,在右方的区域内输入Bean的JNDI名称、刚才我们所建立数据源的JNDI名、数据库用户名和密码,按【Ctrl+S】保存,如图13所示。
    图13 EJB Extenxion Editor
    图13 EJB Extenxion Editor

    注意:如果Bean的JNDI名称为空,测试时Websphere v4.0 Test Environment自动绑定为BeanName+Home的格式。
  14. 在J2EE View窗口中右击EJB项目,选择【Generate】/【Deploy and RMIC Code】,生成部署代码。
  15. 右击项目,选择【Run on Server】,在Websphere v4.0 Test Environment中进行测试。EJB Test Client界面如图14所示。
    图14 EJB Test Client
    图14 EJB Test Client

    具体的测试方法就不再详细介绍了,请您参照Sheldon的 WSAD教程和WSAD本身的帮助。
    Tips: WSAD Trial Edition for Win2000的帮助似乎有点问题。如果您打不开帮助,单击菜单栏的【Window】/【Perferences】,选择help项,单击 【Restore Defaults】按钮,再单击【Ok】按钮就会恢复正常。

blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


3. 创建Web project和Application client project

Web project 和Application client project的开发相对较易,Sheldon的 WSAD教程也有详尽的描述。本文所附zip包里提供了一个Demo Servlet,它使用Websphere类库中的LotusXSL工具,将XML流转为HTML输出,您可以直接运行。


blue_rule.gif
c.gif
c.gif
u_bold.gif回页首


4.在Websphere Application Server v4.0 AES中发布

Sheldon的第二篇 WSAD教程已 经给出了发布的步骤,这里就不再重复。但在实际应用中,我发现4.0.1版的AESS在部署Web module时会出现错误,症状是安装外挂的IBM HTTP Server侦听不到Web模块的目录,造成无法访问Servlet和静态文件。但Advanced Edition没有上述问题。

解决方法是:修改{websphere}config目录下的plugin-cfg.xml,在 层里加入web moudule的上下文路径context path,如路径为/own,加入,重新启动即可。

下载: HelloWorld.ear

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-130750/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-130750/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值