BEA WebLogic Workshop使用笔记之二.docx
《BEA WebLogic Workshop使用笔记之二.docx》由会员分享,可在线阅读,更多相关《BEA WebLogic Workshop使用笔记之二.docx(12页珍藏版)》请在冰豆网上搜索。
BEAWebLogicWorkshop使用笔记之二
BEAWebLogicWorkshop使用笔记之二--EJB开发篇
作者:
李巍来源:
dev2dev
续上篇,通过本文的学习,读者将能掌握:
1会使用WebLogicWorkshop创建EJB应用;
2学会使用EJBControl,用WebLogicWorkshop快速对相应EJB进行测试;
类似的在Workshop上开发EJB的文章在dev2dev站点上有一篇,《用WebLogicWorkshop开发EJB》,所以在本文中与其相同的内容部分我就不再多讲。
用WebLogicWorkshop创建一个应用(application)
在这里读者一定要明白Workshop中应用(Application)和项目(Project)两个模型的意义及它们间的关系
应用(Application)模型是:
∙作为一个单元部署到服务器的资源与组件的集合
∙在WorkshopIDE中操作的最顶层工作单位
∙一个J2EEEnterpriseApplication(EAR)
∙一个应用(Application)可包含一或多个项目(Project),libraries及securitymappings
上图表明的意思是,建立的这个应用类型是Portal应用,其支持Portal应用,指定的这个应用将部署在我们刚建的那个Platform类型的domain上(mdomain)。
建立EJB项目(Project)
项目(Project)模型定义了开发者如何:
∙组织应用源文件
∙使用组件组装应用
∙贯通编码、编译、调试周期
∙打包用于部署的应用
项目类型有:
Project类型
简述
Web
Web应用类型
WebService
WebService应用类型
Control
用于构造和打包可在其他Projects的components中使用的控件
EJB
支持创建及部署新的EJB
Java
用于开发或汇总通用JAVA代码,而这些代码并不属于像web services,controls或EJBs这样的实体
Schema
提供方便地自动存取BEA的XMLBeans的功能
Portal
类似于一个WEBProject,但提供Portal功能
Datasync
用于开发和维护通用的门户服务,以方便应用及门户的个性化开发使用
Process
包含业务流程文件、控制文件及数据转换等文件
我们继续创建EJBProject,右键点击MyEJBApp,然后选择"new"一个"project",在弹出对话框中选中Project类型为EJB项目,再点击"create"创建该EJBProject。
创建实体bean
右键点CompanyEJB项目,new一个Entitybean(Entitybeanfromdatabasetable)
随后选择DataSource,选择我们的表"SIMPLE_EX"
下图是我们通过wizard创建好的EntityBean雏形
这个雏形中,只有一个简单的create方法,我们可以根据需要,为这个EntityBean再定制加入create方法、find方法等等,只需要再DesignView中点击鼠标右键,进行选择添加。
添加EJBCreate方法
如上图,先右键点击原EJBCreate()方法,将其删除,然后在Designview面板上点击鼠标右键选择"AddEJBCreate",在接下来弹出的窗口中,把两个field都给选上,再点击ok。
添加FindAll方法
如上图,选择"AddFinder"
添加Findby方法
方法如上,只不过在"AddFinder"菜单中填上:
MethodSignature:
Simple_exfinderByNO(java.lang.StringsCOMPANY_ID)
EJB-QL:
SELECTOBJECT(o)fromSimple_exBeanasowherepanyIdLIKE?
1
同样加上
MethodSignature:
Simple_exfinderByCompanyName(java.lang.StringsCOMPANY_NAME)
EJB-QL:
SELECTOBJECT(o)fromSimple_exBeanasowherepanyNameLIKE?
1
对EJB的一些属性可直接在"属性编辑器"中进行设置,比如"ejb-name",是否是local的EJB等等。
比如需要在下图中在把"table-name""SIMPLE_EX"改成"LWTEST.SIMPLE_EX"。
测试EJB
1右键点击"MyEJBApp"应用,建立一个测试用的"WebProject",名为"EJBTest";
2在这个"EJBTest"下新建一个目录"TestEJB"
3右键点击这个目录,"new"一个"JavaControl",其类型选择为"EJBControl"
上图中4个步骤完成后,将生成一个TEJB.jcx控件,然后再鼠标右键点击这个EJB控件,选择"CreateTestJWSFile",用WebService进行这个EJB控件的测试
双击新生成的TEJBTest.jws文件,将TEJBTest中的两个方法删除,
从"DataPalette"中展开"tEJB"控件,从控件中选择我们想要测试的方法,拖拽到"DesignView"中
因为create方法返回的是SIMPLEEJB.Simple_ex,不能被WebService测试页面直接显示,故系统会报如下提示信息。
因而我们需要对加入的这个create方法做下处理,点击create()方法,进入SourceView,对其返回值做处理:
publicStringcreate(java.lang.Stringarg0,java.lang.Stringarg1)throwsjavax.ejb.CreateException
{
return(tEJB.create(arg0,arg1)).getCompanyName();
}
同理再拖拽入finderByCompanyName(),finderByNO()方法,并对其返回值做相应的修改
publicStringfinderByCompanyName(java.lang.Stringarg0)throwsjavax.ejb.FinderException
{
StringsInput="%"+arg0+"%";
returntEJB.finderByCompanyName(sInput).getCompanyName();
}
publicStringfinderByNO(java.lang.Stringarg0)throwsjavax.ejb.FinderException
{
StringsInput="%"+arg0+"%";
returntEJB.finderByNO(sInput).getCompanyName();
}
点击Workshop工具栏上的运行按钮"
",进行测试
可以用这个测试窗口在Create部门,输入相应的值,生成数据项,比如
stringarg0:
1
stringarg1:
BEA
然后可再测试finderby方法
测试结果如下:
小结
本文给读者简述了在WebLogicWorkshop上进行EJB的开发、测试方法,以期使读者通过对本文的学习能够快速入门WebLogicWorkshop的开发。
在下一篇使用笔记中,作者将给大家介绍如何用Workshop开发一个调用该EJB的简单的Pageflow,敬请大家关注。