分享
 
 
 

Jbuilder5+Weblogic 6.1sp1 Entity Bean的制作

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Jbuilder5+Weblogic 6.1sp1 Entity Bean的制作

本文假设使用者已经正确的安装了jbuilder5和BAS4.5 。

安装Weblogic

本例中用的是Weblogic 6.1sp1,采用默认方式安装,安装目录为C:\bea 系统密码设为12345678 .

打开Jbuilder,在Tools菜单下选择Enterprise Setup,切换到Application Server面板下选择Weblogic 6.0把Weblogic installation directory 设置为C:/bea/wlserver6.1 ,BEA home directory 设置为 C:/bea ,然后点确定。在菜单Project下点击Default Project Properties,选择Servers面板,点击Application server有面的按钮---“….” ,双击应用服务器选择对话框中的Weblogic Application Server 6.0 修改 VM parameters 为:

-ms64m -mx64m -Djava.library.path=C:/bea/wlserver6.1/bin -Dbea.home=C:/bea

-Dweblogic.Domain=mydomain -Dweblogic.Name=myserver

-Djava.security.policy==C:/bea/wlserver6.1/lib/weblogic.policy -classpath C:/bea/wlserver6.1\lib\weblogic_sp.jar;C:/bea/wlserver6.1\lib\weblogic.jar;

-Dweblogic.management.password=12345678

点确定,关闭Jbuilder. WebLogic配置完成.

制作Entity Bean

l 在测试数据库中建表

首先在数据库中创建一个用来测试的表,数据库名test 表名 test 我们设置两个字段:

name

vrachar(15)

不允许为空

主键

addr

varchar(50)

允许为空

l 在Weblogic中建立连接池

1. 打开开始菜单中的执行Weblogic目录下的Start Default Server,输入密码”12345678”启动Weblogic。

2. 启动”Start Default Console”,输入用户名”system” 密码 “12345678” 进入控制台,在左面菜单中找到”JDBC”项,打开他你会发现子菜单中有一项为”Connection Pools”,右击该项,然后选 ”Configure a new JDBC Connection Pool...” 配置连接池

属性如下表

Name

myDB

URL

jdbc:sybase:Tds:172.16.4.200:5000/test

/172.16.4.200为数据库服务器地址,test为数据库名/

Driver Classname

com.sybase.jdbc2.jdbc.SybDriver

Properties(key=value):

user=sa

ACLName

Password

完成后点击Creat按钮。

3. 点击Targets标签,选中myserver,把它移入Chosen项,点击Apply

4. 关闭控制台和Weblogic服务。连接池已经建好了。

l 编码

1. 打开Jbuilder,新建一个名为hello项目,并在Required Libraries中添加上Weblogic 6.0。

2. 新建一个名为HelloWorld的Empty EJB Group。

3. 新建一个Enterpris JavaBean,选择HelloWorld组,点击下一步。package选择hello, Class name为“FistBean”,options选择Container managed persistence EJB 1.1 entity bean 然后点下一步。点击Finish。

4. 项目下共有3个文件分别是

First.java

package hello;

import java.rmi.*;

import javax.ejb.*;

/**

* Title:

* Description:

* Copyright:

* Company:

* @author 赵新鹏

* @version 1.0

*/

public interface First extends EJBObject {

public java.lang.String getAddr() throws RemoteException;

public java.lang.String getName() throws RemoteException;

public void setAddr(java.lang.String addr) throws RemoteException;

public void setName(java.lang.String name) throws RemoteException;

}

FistBean.java

package hello;

import java.rmi.*;

import javax.ejb.*;

/**

* Title:

* Description:

* Copyright:

* Company:

* @author 赵新鹏

* @version 1.0

*/

public class FirstBean implements EntityBean {

EntityContext entityContext;

public String name;

public String addr;

public String ejbCreate(String name,String addr) throws CreateException, RemoteException {

setName(name);

setAddr(addr);

return null;

}

public String ejbCreate(String name) throws CreateException, RemoteException {

return ejbCreate(name,null);

}

public void ejbPostCreate(String name,String addr) throws CreateException, RemoteException {

}

public void ejbPostCreate(String name) throws CreateException, RemoteException {

}

public void ejbLoad() throws RemoteException {

}

public void ejbStore() throws RemoteException {

}

public void ejbRemove() throws RemoveException, RemoteException {

}

public void ejbActivate() throws RemoteException {

}

public void ejbPassivate() throws RemoteException {

}

public void setEntityContext(EntityContext entityContext) throws RemoteException {

this.entityContext = entityContext;

}

public void unsetEntityContext() throws RemoteException {

entityContext = null;

}

public String getAddr() {

return addr;

}

public void setAddr(String addr) {

this.addr = addr;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

FirstHome.java

package hello;

import java.rmi.*;

import javax.ejb.*;

/**

* Title:

* Description:

* Copyright:

* Company:

* @author 赵新鹏

* @version 1.0

*/

public interface FirstHome extends EJBHome {

public First create(String name) throws CreateException, RemoteException;

public First create(String name,String addr) throws CreateException, RemoteException;

public Fist findByPrimaryKey(String primaryKey) throws RemoteException, FinderException;

}

5. 点击左面菜单中的HelloWorld.ejbgrp,然后双击 EJB Deployment Descriptor下的First, 点击右面窗体下面的Resource References标签,点击面板上的Add按钮,在跳出的输入对话框中输入”helloDB”点ok,选择type为java.sql.DataSource。选中helloDB,在下面JNDI Name框中输入myDB.

6. 然后点击标签Persistence,table(s)输入”test”,容器管理表内容如下

CMP

isPK

Field Type

Column Name(s)

Column Type

选中

选中

name

name

varchar(15)

选中

不选

addr

addr

varchar(50)

7. 右击EJB Deployment Descriptor下的JDBC DataSources 新建一个名为myDB的数据源,配置如下:

JNDI name

myDB

URL

jdbc:sybase:Tds:olap:5000/test

User name

sa

Password

Driver class name

com.sybase.jdbc2.jdbc.SybDriver

配置完成点击“Test Connection”如正确则显示

Attempting to connect to database...

Connection succeeded.

如果显示下面的信息

Attempting to connect to database...

Driver not on classpath.

Add the driver to the classpath using the Set Classpath command.

则表示数据库的jdbc驱动并不在classpath里,把数据库的驱动添加到项目的Required Libraries中去。

8. 点击EJB Deployment Descriptor,然后点击右面窗口中的 EJB DD Source ,然后选weblogic-cmp-rdbms-jar.xml找到<pool-name></pool-name> 修改为<pool-name>myDB</pool-name>.

9. 右击FirstHome.java 选择 Properties,然后选择Build面板---〉VisiBroker选中Java2IIOP Seting下的Generate IIOP点ok

10. 保存后按Ctrl+F9编译,应该没有问题。

11. 新建一个Test EJB Client 全部采用默认设置即可。

12. 再main方法里面找到 FistTestClient1 client = new FistTestClient1();

然后再后加入下面的代码:

First ff=client.create("testName","testAddr");

try {

System.out.println(ff.getName());

System.out.println(ff.getAddr());

}

catch (java.rmi.RemoteException ex) {

ex.printStackTrace();

}

然后,保存编译。

13. 右击HelloWorld.ejbgrp,选RUN, 完成后再选Deploy Options for “HelloWorld.jar”àDeploy

14. 完成后在浏览器中打开http://127.0.0.1:7001/console 用户名密码分别是 system和12345678 在控制台的左面菜单里打开EJB选中HelloWorld,然后再右面窗口中选Targets 把myserver变成Chosen .

15. 回到jbuilder中把运行中的Server停掉,然后再重新右击HelloWorld.ejbgrp,选RUN。

16. 右击FistTestClient1.java 点RUN,如显示下面的信息则表示运行成功

-- Initializing bean access.

-- Succeeded initializing bean access.

-- Execution time: 1663 ms.

-- Calling create(testName, testAddr)

-- Succeeded: create(testName, testAddr)

-- Execution time: 200 ms.

-- Return value from create(testName, testAddr): weblogic.rmi.cluster.EntityRemoteRef@10f - jvmid: '190 ...

testName

testAddr

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有