王朝网络
分享
 
 
 

一步一步用JBuilder5开发EJB(下)

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

3、为了验证配置描述符设置正确,我们可以点击内容窗格上部的小工具条上的

图标来验证配置描述符的设置。如图14,我们看到,验证得到的信息是:0 errors,0 warnings。

图14

4、保存所有的文件,然后编译工程。(单击工具栏的

图标)。

现在,所有服务器端的工作我们已经完成。下面我们将建立一个java客户来测试我们所写的EJB。

步骤:

1、 选择"File"-"New…"-"EnterPRise"标签-"EJB Test Client"。

2、 点击"OK"之后,在EJB Test Client Wizard窗口中,设置class为Client

仅仅选择Generate main function。然后点击"OK",如图15。

图15

3、在建立的类的构造方法中,你可以看到一个"try…catch"语句块。在此语句块中,包含Context的实例、一个TellerHome的JNDI lookup、一个参考TellerHome类型的返回对象narrow。

4、在这些代码行之后,仍然在"try…catch"语句块中,增加下面的代码:

Teller teller=tellerHome.create();

int t=teller.getTellerNo();

System.out.println("Using Teller No is:"+t);

这几行代码建立Bean实例,调用远程方法,然后输出结果。

最后,为了能够调用远程接口,客户程序需要建立RMI/IIOP stubs。

步骤:

1、 在项目窗格中,用右键点击"TellerHome.java",选择"Properties"。

2、 在弹出窗口中,选择"Build"标签,再选择"VisiBroker",然后仅仅选择"Generate IIOP"。如图16。

图16

3、保存所有的文件,然后编译工程。(单击工具栏的

图标)。

现在,我们已经完成了这个无状态的session Bean和测试用客户的开发工作。

2. 配置Session Beans

我们将执行这个Bean在JBuilder5内置的EJB容器里面。

步骤:

1、 首先,运行VisiBroker Smart Agent。("Tools"-"VisiBroker Smart Agent")

2、 设置一个配置来运行EJB容器。"Run"-"Configuration…",编辑"default"配置,在EJB标签中,如图16-1配置。

图16-1

3、 点击工具条上的

,运行容器。等待容器初始化。

4、 用鼠标右键点击项目窗口的Client.java,选择"run"。

在JBuilder5窗口底部的消息窗格中,你将看到如下的消息:

"D:\JBuilder5\jdk1.3\bin\javaw -class……………

Using Teller No:1"

这时,你的测试客户程序已经成功的调用了远程接口。

四、Entity Beans

1. 建立数据库

我们已经成功的开发了一个Session Bean。不要觉得它简单,至少它是在JBuilder5中开发EJB的基本步骤。在这一章里,我们将要开发EJB的另外一种形态--Entity Beans。

一个Entity Bean是一个稳定的数据的对象表现,在我们的例子里,稳定的数据是一个关系数据库

首先,我们将在InterBase上建立一个数据库。

步骤:

1、 启动InterBase Server。

2、 启动InterClient中的InterServer。

3、 运行InterBase中的IBConsole。

4、 在IBConsole中,选择左边窗口的InterBase Servers - Local Server双击。用户名和口令用"SYSDBA"、"masterkey"。

5、 右击Databases,选择Create databaseUploadFiles/20071231/200815223834918778016..

6、 在Create database窗口中的Alias中输入accounts,在File(s)中Filename(s)中输入d:\project\quickstart\accounts.gdb,然后点OK完成。

7、 选择IBConsole的菜单Tools - Interactive SQLUploadFiles/20071231/200815223834918778016..,在Interactive SQL-accounts窗口上部的文本框中,输入下面的建立数据库表的SQL语句:

CREATE TABLE account

( name VARCHAR(20) NOT NULL,

balance INTEGER NOT NULL,

PRIMARY KEY (name)

)

8、 选择Query - Excute。

注:SQL语句最好自己写上去,copy上去的,可能在excute的时候会出错,因为有非法的字符。你只要把空格去掉就可以了。CREATE TABLE account ( name VARCHAR(20) NOT NULL,balance INTEGER NOT NULL,PRIMARY KEY (name))

图17

7、 执行建立的SQL语句。如图18。

图18

8、 退出,回答"Yes"提交工作。

2. 开发Entity Beans

我们将利用JBuilder5所提供的向导来生成我们将要开发的Entity bean的代码,并且将它加入到前面的项目中。

首先,我们需要为刚才建立的数据库,指定JDBC驱动程序。退出JBuilder5。从InterClient的安装目录下(这里是:D:\InterBase Corp\InterClient)复制interclient.jar文件到JBuilder5安装目录下的lib子目录里面。用任意的文本编辑器打开JBuilder5安装目录下的bin子目录里面的dbpilot.config文件。在此文件的尾部加上:

# Add other database drivers here addpath UploadFiles/20071231/200815223834918778016./lib/interclient.jar

保存此文件,重新打开JBuilder5。

检查以下我们前面所做的工作:

1、 在JBuilder5中,选择"Tools"-"DataBase pilot"。

2、 在DataBase pilot窗口中,选择"File"-"New…"。

3、 选择"Driver"为:interbase.interclient.Driver;"URL"通过旁边的浏览按钮定位在我们刚才建立数据库的地方(D:\project\quickstart\accounts.gdb)。如图19。

图19

4、"OK"之后,在JDBC EXPlorer中展开我们刚刚建立数据库URL。用户名:SYSDBA;密码:masterkey。登录之后,展开树,就可以看到我们所建立的表和表中的列了。如图20。

图20

现在,我们就可以开始建立我们的Entity bean了。

步骤:

1、 在JBuilder5中,选择"File"-"New…"-"Enterprise"标签--"EJB Entity Bean Modeler",点击"OK"按钮之后,在向导的步骤1里,将此Bean加入已经建立的EJB Group(quickstart.ejbgrp)。

2、 选取Schemas and table types中的Schemas。利用前面建立的数据库URL(Driver;interbase.interclient.Driver;URL:jdbc:interbase://localhost/D:\project\quickstart\ACCOUNTS.GDB),用户名:SYSDBA;口令:masterkey;登录到数据库中,点击"Next"。如图21。

图21

3、 根据提示,选择ACCOUNT表,"Next",选择表中所有的列,"Next"到"Finish"。

4、 保存所有的文件,然后编译工程。

这样,我们实际上就已经完成了这个Entity Bean的开发工作。JBuilder5的向导已经在配置描述符中增加了一个入口和一个数据源的入口。

一个Entity Bean只不过是生成的代码。下面我们将建立一个客户程序来访问这个Entity Bean。这个客户程序将建立四个Entity Bean的实例,在数据库的Account表中建立四行数据。

使用JBuilder5的EJB Test Client Wizard,在这一次我们建立的测试客户程序,将依靠Account EJB,根据提示,使用缺省的类名:AccountTestClient1就可以了。利用向导,生成main函数,然后在生成的main函数的try…catch语句块中,"accountHome = (AccountHome) PortableRemoteObject.narrow(ref, AccountHome.class);"的后面,加入下面的代码:

Account ac1=accountHome.create("John",150);

Account ac2=accountHome.create("Paul",150);

Account ac3=accountHome.create("George",150);

Account ac4=accountHome.create("Ringo",150);

用鼠标右键点击项目窗格的AccountHome.java文件,选择"Properties…"。在弹出窗口中的"Build"标签中的"VisiBroker"标签中,选择"Generate IIOP",点击"OK"。

保存所有的文件,然后编译工程。

3. 配置

我们仍然在JBuilder5中运行EJB容器。客户程序将依靠运行在EJB容器中的Entity Bean在数据库的Account表中建立四行数据。

首先,建立一个库,这样当我们运行EJB容器的时候,InterClient JDBC驱动程序能够被添加到classpath。

步骤:

1、 在JBuilder5中选择"Project"-"Project Properties…"。

2、 在"Required Libraries"标签中,点击"Add…"。

3、 在弹出的窗口中,点击"New…"。

4、 将JBuilder5安装目录下的lib子目录里的interclient.jar文件添加到"Library Paths"中。

5、 "Name"值设为:InterClient。

完成之后,就可以运行你建立的应用了。

确认VisiBroker Smart Agent、InterBase Server和InterClient的InterServer仍然在运行。

点击工具条上的 ,运行容器。等待容器初始化。

用鼠标右键点击项目窗口的AccountTestClient1.java,选择"run"。

完成之后,运行JDBC Explorer。

展开"interbase://localhost/D:\project\quickstart\ACCOUNTS.GDB",点击"Tables"下的ACCOUNT表。在右边窗格选择Data标签。你将看到程序所创建的新的四行数据。

如图22。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有