摘要 本文详细介绍了在oracle jdeveloper 10g环境下开发会话bean所涉及到的jdeveloper安装、配置方法以及enterprise javabean的设计、开发、运行、测试方法,为java初学者和jdeveloper学习者提供了有益的参考。
1、jdeveloper 10g开发工具简介
jdeveloper 10g是全球最大的数据库软件供应商甲骨文公司(oracle corporation)开发的一款java应用集成开发环境(ide)软件。它针对java应用开发中的各项活动提供了全面的支持,例如支持版本控制、系统建模、编码开发、程序调试、自动测试、系统性能优化等,以及具有方便地部署java应用程序和web服务的特性,大大简化了应用系统的发布操作。
不但如此,oracle jdeveloper 10g 中还提出了其特有的j2ee 开发框架――oracle application development framework(adf)。该框架以 j2ee 设计模式为基础,不仅可帮助程序员开发更为健壮的 j2ee 应用系统,也可大幅度提高程序的编写效率、缩短应用系统的开发时间。
2、为什么用jdeveloper进行会话bean的开发
如上所述,jdeveloper 10g开发工具不但具有很强的系统集成度,而且,也具有了提高开发生产率的一些有益特性。
除此之外,jdeveloper 10g具有可免费获得并使用、基于模型驱动开发(mda)、以及集成oc4j j2ee应用服务器的特性,决定了无论是开发还是学习,其都不失为一个好的集成开发环境。
因此,本文以简单的hello session bean为例,来说明jdeveloper 10g下ejb的设计、编码、发布以及测试的方法和步骤,以为j2ee初学者降低学习门槛,提供更好的学习工具。
3、jdeveloper 10g运行环境的准备
3.1 下载
① 从sun网站下载j2se 1.4.2安装包
② 从oracle公司网站(http://www.oracle.com)下载oracle jdeveloper 10g开发工具(.zip文件)
3.2 安装并设置java 运行环境
安装下载的j2se 1.4.2安装包,并进行环境变量的设置。具体设置方法略,请参看相关文档。
需要说明的是,经笔者测试,若java sdk用的是j2se 1.5(即tiger),则jdeveloper 10g的oc4j应用服务器启动时会报错,因此,建议最好使用j2se 1.4.2。
3.3 解压缩jdeveloper
下载的oracle jdeveloper 10g开发工具(.zip文件)不需要安装,只需将其解压缩到硬盘分区的某个文件夹下即可,如解压缩到g:/jdev9052。
4、jdeveloper 10g应用服务器oc4j的安装
jdeveloper 10g产品中内嵌了oracle的j2ee应用服务器软件――oc4j,其支持j2ee 1.3组件的开发。在此例中,要使用oc4j应用服务器,必须对其进行安装并做必要的设置。
4.1安装和设置oc4j应用服务器
在windows中进入dos命令提示符,输入以下dos命令以安装和设置oc4j应用服务器:
正常情况下,该命令将显示如下信息:
在上述过程中,需要输入两次应用服务器管理员用户admin的密码,这里为了便于记忆,设置管理员密码为1234。
4.2 测试应用服务器
在g:/jdev9052/bin目录下,存在两个批处理文件:start_oc4j.bat和stop_oc4j.bat,分别用来启动和关闭oc4j应用服务器。
4.2.1 启动应用服务器oc4j
再进入dos命令提示符下,输入以下命令:
正常情况下,将显示以下信息:
4.2.2 关闭应用服务器oc4j
在dos提示符下进入g:/jdev9052/jdev/bin目录,输入命令:
其中,admin是管理员账号,1234是在安装过程中输入的管理员密码。
输出信息略。
4.3 在jdeveloper中设置到oc4j应用服务器的连接
运行g:/jdev9052/jdev/bin/jdevw.exe程序,可启动jdeveloper 10g开发工具。首次运行将询问你是否从以前版本升级,选择否即可。
(因后续内容多用图示表达,故只添加少量文字说明)
建立到oc4j应用服务器连接的操作步骤如以下图所示:
在图3窗口中,填写admin用户的密码为:1234
在图4窗口中,直接选择“下一步”即可。
这里可以点击“test connection”按钮进行连接测试,当然,正确连接的前提是,你先前已经通过4.2.1节的方法启动了oc4j应用服务器。
此处,我们不进行测试,直接选择“完成”。 5、在jdeveloper 10g中新建应用程序空间
应用程序空间是jdeveloper组织和管理多个应用项目(project)的一种管理形式。一个应用程序空间中可以包含多个应用项目。
新建应用程序空间的具体操作:选择工具栏中的“新建”按钮。
选择application workspace(这种workspace可以为应用指定所要使用的模板),然后选择“确定”。
在上面的对话框中输入应用程序名称、应用程序包的前缀、应用模板等信息。这里,应用模板选择web application[jsp,struts,ejb]模板。
6、jdeveloper 10g中hello session bean的设计与开发
6.1 为业务模型建立ejb diagram
具体操作如以下图所示:
输入diagram名称:
通过拖动组件面板中的“sessionbean”按钮到编辑区方法从而创建会话bean类:
出现“create enterprise javabean”对话框:
在图16窗口中,注意勾选“include local interface”项。
选择“完成”,则编辑区效果如下:
6.2 为hellosessionejb类添加业务处理方法
鼠标双击图中的hellosessionejb类图,将出现下面的对话框:
选择“add”按钮,进行业务处理方法的添加:
输入sayhello方法名及该方法返回值的数据类型等参数,然后选择“确定”按钮。
6.3 调整图形元素的尺寸大小
6.4 为会话bean的sayhello方法编写实现代码
具体操作如下:
为sayhello方法添加以下代码:
6.5 修改hellosessionejbbean.java的部分代码
对类hellosessionejbbean中的代码作如下修改:
7、验证和测试hello session bean
7.1 验证ejb
验证的作用:通过ejb验证,可发现由于手工修改代码造成的接口声明和实现代码不一致的错误,从而防止编译、发布和运行期间可能出现的错误。
具体验证操作如下:
查看结果:
通过观察上述窗口中的信息,说明操作没有错误和可疑之处。
7.2 建立ejb组件的客户端测试程序
具体操作如下:
出现:
这里,选择connect to oc4j embedded in jdeveloper,即客户端测试程序及所用的ejb组件将在嵌入的oc4j容器中运行。
若选择第二项,则可将ejb组件发布到远程应用服务器,并试图在远程服务器中运行客户端测试程序;当然,此时。远程应用服务器应已经启动。
7.3 修改客户端测试程序
将客户端测试程序中的语句
前的注释去掉,修改如下:
8、编译和运行程序
8.1 编译程序
8.2 发布ejb组件
在jdeveloper 10g中,将enterprise javabean组件发布到内嵌的oc4j应用服务器十分方便,发布(deploy)操作不需要建立发布描述文件以及进行打包操作;只需运行ejb组件即可,如下图所示:
选择运行命令之后,jdeveloper将自动启动oc4j应用服务器,并发布上述hellosessionejb组件到该服务器,具体信息在embedded oc4j server窗口中显示如下:
查看最后一句话,说明ejb组件被正确发布了。
8.3 运行客户端测试程序
运行hellosessionejbclient.java程序,查看运行结果:
说明ejb组件客户端程序正确地调用了hello session bean的sayhello方法。
9、结束语
通过上述操作,读者可以看出,在jdeveloper 10g开发工具中设计、开发和测试ejb组件具有直观和易于操作的特性,尤其,在ejb组件发布时,既不需要编写用于发布的xml文件,也不需要掌握weblogic或jboss等应用服务器软件的使用方法。这种特性,使得应用开发者可将更多的精力投入到应用系统的设计和开发中去,从而,可大大提高开发效率。
1、jdeveloper 10g开发工具简介
jdeveloper 10g是全球最大的数据库软件供应商甲骨文公司(oracle corporation)开发的一款java应用集成开发环境(ide)软件。它针对java应用开发中的各项活动提供了全面的支持,例如支持版本控制、系统建模、编码开发、程序调试、自动测试、系统性能优化等,以及具有方便地部署java应用程序和web服务的特性,大大简化了应用系统的发布操作。
不但如此,oracle jdeveloper 10g 中还提出了其特有的j2ee 开发框架――oracle application development framework(adf)。该框架以 j2ee 设计模式为基础,不仅可帮助程序员开发更为健壮的 j2ee 应用系统,也可大幅度提高程序的编写效率、缩短应用系统的开发时间。
2、为什么用jdeveloper进行会话bean的开发
如上所述,jdeveloper 10g开发工具不但具有很强的系统集成度,而且,也具有了提高开发生产率的一些有益特性。
除此之外,jdeveloper 10g具有可免费获得并使用、基于模型驱动开发(mda)、以及集成oc4j j2ee应用服务器的特性,决定了无论是开发还是学习,其都不失为一个好的集成开发环境。
因此,本文以简单的hello session bean为例,来说明jdeveloper 10g下ejb的设计、编码、发布以及测试的方法和步骤,以为j2ee初学者降低学习门槛,提供更好的学习工具。
3、jdeveloper 10g运行环境的准备
3.1 下载
① 从sun网站下载j2se 1.4.2安装包
② 从oracle公司网站(http://www.oracle.com)下载oracle jdeveloper 10g开发工具(.zip文件)
3.2 安装并设置java 运行环境
安装下载的j2se 1.4.2安装包,并进行环境变量的设置。具体设置方法略,请参看相关文档。
需要说明的是,经笔者测试,若java sdk用的是j2se 1.5(即tiger),则jdeveloper 10g的oc4j应用服务器启动时会报错,因此,建议最好使用j2se 1.4.2。
3.3 解压缩jdeveloper
下载的oracle jdeveloper 10g开发工具(.zip文件)不需要安装,只需将其解压缩到硬盘分区的某个文件夹下即可,如解压缩到g:/jdev9052。
4、jdeveloper 10g应用服务器oc4j的安装
jdeveloper 10g产品中内嵌了oracle的j2ee应用服务器软件――oc4j,其支持j2ee 1.3组件的开发。在此例中,要使用oc4j应用服务器,必须对其进行安装并做必要的设置。
4.1安装和设置oc4j应用服务器
在windows中进入dos命令提示符,输入以下dos命令以安装和设置oc4j应用服务器:
| d:/documents and settings/administrator>g: g:/>cd jdev9052/j2ee/home g:/jdev9052/j2ee/home>java -jar oc4j.jar ?cinstall |
正常情况下,该命令将显示如下信息:
| auto-unpacking g:/jdev9052_org/j2ee/home/applications/dms0.war... done. auto-unpacking g:/jdev9052_org/j2ee/home/applications/dms.war... done. auto-unpacking g:/jdev9052_org/bc4j/redist/bc4j.ear... done. auto-unpacking g:/jdev9052_org/bc4j/redist/bc4j/webapp.war... done. auto-deploying bc4j (new server version detected)... auto-unpacking g:/jdev9052_org/soap/lib/soap.ear... done. auto-unpacking g:/jdev9052_org/soap/lib/soap/soap.war... done. auto-deploying soap (new server version detected)... to enable in-process jsp compilation (which can be faster in some cases), please add the path to your tools.jar in application.xml example: <library path="../../../jdk/lib/tools.jar" /> enter an admin password to use: 1234 confirm admin password: 1234 if you are using j2se 1.4 or higher, please ensure that all your imported classe s are within packages, as required by the java language specification. installation done |
在上述过程中,需要输入两次应用服务器管理员用户admin的密码,这里为了便于记忆,设置管理员密码为1234。
4.2 测试应用服务器
在g:/jdev9052/bin目录下,存在两个批处理文件:start_oc4j.bat和stop_oc4j.bat,分别用来启动和关闭oc4j应用服务器。
4.2.1 启动应用服务器oc4j
再进入dos命令提示符下,输入以下命令:
| d:/documents and settings/administrator>g: g:/>cd jdev9052/jdev/bin g:/jdev9052/jdev/bin>start_oc4j |
正常情况下,将显示以下信息:
| starting oc4j with command: d:/java/jdk1.5.0/bin/java.exe -jar oc4j.jar 04/11/20 22:44:37 auto-deploying file:/g:/jdev9052_org/j2ee/home/applications/dm s0/ (new server version detected)... 04/11/20 22:44:37 auto-deploying file:/g:/jdev9052_org/j2ee/home/default-web-app / (new server version detected)... 04/11/20 22:44:37 auto-deploying file:/g:/jdev9052_org/j2ee/home/applications/dm s/ (new server version detected)... 04/11/20 22:44:37 auto-deploying file:/g:/jdev9052_org/bc4j/redist/bc4j/webapp/ (new server version detected)... 04/11/20 22:44:37 auto-deploying file:/g:/jdev9052_org/soap/lib/soap/soap/ (new server version detected)... 04/11/20 22:44:45 oracle application server containers for j2ee 10g (9.0.4.0.0) initialized |
4.2.2 关闭应用服务器oc4j
在dos提示符下进入g:/jdev9052/jdev/bin目录,输入命令:
| stop_oc4j admin 1234 |
其中,admin是管理员账号,1234是在安装过程中输入的管理员密码。
输出信息略。
4.3 在jdeveloper中设置到oc4j应用服务器的连接
运行g:/jdev9052/jdev/bin/jdevw.exe程序,可启动jdeveloper 10g开发工具。首次运行将询问你是否从以前版本升级,选择否即可。
(因后续内容多用图示表达,故只添加少量文字说明)
建立到oc4j应用服务器连接的操作步骤如以下图所示:
![]() 图1 新建应用服务器连接操作 |
图2 选择应用服务器类型窗口 |
图3 设置应用服务器连接参数窗口1 |
在图3窗口中,填写admin用户的密码为:1234
![]() 图4 设置应用服务器连接参数窗口2 |
在图4窗口中,直接选择“下一步”即可。
![]() 图5 应用服务器连接测试窗口 |
这里可以点击“test connection”按钮进行连接测试,当然,正确连接的前提是,你先前已经通过4.2.1节的方法启动了oc4j应用服务器。
此处,我们不进行测试,直接选择“完成”。 5、在jdeveloper 10g中新建应用程序空间
应用程序空间是jdeveloper组织和管理多个应用项目(project)的一种管理形式。一个应用程序空间中可以包含多个应用项目。
新建应用程序空间的具体操作:选择工具栏中的“新建”按钮。
![]() 图6 选择新建类型窗口 |
选择application workspace(这种workspace可以为应用指定所要使用的模板),然后选择“确定”。
![]() 图7 模板类型设置窗口 |
在上面的对话框中输入应用程序名称、应用程序包的前缀、应用模板等信息。这里,应用模板选择web application[jsp,struts,ejb]模板。
6、jdeveloper 10g中hello session bean的设计与开发
6.1 为业务模型建立ejb diagram
具体操作如以下图所示:
![]() 图8 新建项目操作 |
![]() 图9 选择新建项目窗口 |
输入diagram名称:
![]() 图10 ejb组件参数设置窗口 |
通过拖动组件面板中的“sessionbean”按钮到编辑区方法从而创建会话bean类:
![]() 图11 jdeveloper 10g界面中的组件面板(component palette) |
出现“create enterprise javabean”对话框:
![]() 图12 创建enterprise javabean欢迎窗口 |
![]() 图13 创建enterprise javabean向导操作1 |
![]() 图14 创建enterprise javabean向导操作2 |
![]() 图15 创建enterprise javabean向导操作3 |
![]() 图16 创建enterprise javabean向导操作4 |
在图16窗口中,注意勾选“include local interface”项。
![]() 图17 创建enterprise javabean完成后的摘要信息 |
选择“完成”,则编辑区效果如下:
![]() 图18 ejb diagram图中被创建的session bean |
6.2 为hellosessionejb类添加业务处理方法
鼠标双击图中的hellosessionejb类图,将出现下面的对话框:
![]() 图19 ejb模块属性编辑窗口 |
选择“add”按钮,进行业务处理方法的添加:
![]() 图20 业务方法参数设置窗口 |
输入sayhello方法名及该方法返回值的数据类型等参数,然后选择“确定”按钮。
6.3 调整图形元素的尺寸大小
![]() 图21 调整图形大小操作 |
6.4 为会话bean的sayhello方法编写实现代码
具体操作如下:
![]() 图22 查看hellosessionejb组件的实现代码操作 |
为sayhello方法添加以下代码:
| public string sayhello() { return "hello, world"; } |
6.5 修改hellosessionejbbean.java的部分代码
对类hellosessionejbbean中的代码作如下修改:
| sessioncontext ctx; //添加 public void setsessioncontext(sessioncontext ctx) { this.ctx = ctx; //添加 } |
7.1 验证ejb
验证的作用:通过ejb验证,可发现由于手工修改代码造成的接口声明和实现代码不一致的错误,从而防止编译、发布和运行期间可能出现的错误。
具体验证操作如下:
![]() 图23 验证ejb组件操作 |
查看结果:
![]() 图24 查看验证操作的结果 |
通过观察上述窗口中的信息,说明操作没有错误和可疑之处。
7.2 建立ejb组件的客户端测试程序
具体操作如下:
![]() 图25 新建ejb组件测试程序操作 |
出现:
![]() 图26 测试程序运行容器类型设置窗口 |
这里,选择connect to oc4j embedded in jdeveloper,即客户端测试程序及所用的ejb组件将在嵌入的oc4j容器中运行。
若选择第二项,则可将ejb组件发布到远程应用服务器,并试图在远程服务器中运行客户端测试程序;当然,此时。远程应用服务器应已经启动。
7.3 修改客户端测试程序
将客户端测试程序中的语句
| // hellosessionejb.sayhello( ); |
前的注释去掉,修改如下:
| string s = hellosessionejb.sayhello( ); system.out.println("结果:" + s); |
8、编译和运行程序
8.1 编译程序
![]() 图27 程序编译操作 |
8.2 发布ejb组件
在jdeveloper 10g中,将enterprise javabean组件发布到内嵌的oc4j应用服务器十分方便,发布(deploy)操作不需要建立发布描述文件以及进行打包操作;只需运行ejb组件即可,如下图所示:
![]() 图28 ejb组件的发布 |
选择运行命令之后,jdeveloper将自动启动oc4j应用服务器,并发布上述hellosessionejb组件到该服务器,具体信息在embedded oc4j server窗口中显示如下:
| [starting oc4j using the following ports: http=8988, rmi=23891, jms=9227.] …… [waiting for the server to complete its initialization...] …… 04/11/21 00:15:04 auto-deploying - compiling and loading... …… embedded oc4j startup time: 193137 ms. …… all ejbs are successfully deployed. |
查看最后一句话,说明ejb组件被正确发布了。
8.3 运行客户端测试程序
运行hellosessionejbclient.java程序,查看运行结果:
![]() 图29 测试程序运行结果 |
说明ejb组件客户端程序正确地调用了hello session bean的sayhello方法。
9、结束语
通过上述操作,读者可以看出,在jdeveloper 10g开发工具中设计、开发和测试ejb组件具有直观和易于操作的特性,尤其,在ejb组件发布时,既不需要编写用于发布的xml文件,也不需要掌握weblogic或jboss等应用服务器软件的使用方法。这种特性,使得应用开发者可将更多的精力投入到应用系统的设计和开发中去,从而,可大大提高开发效率。



























闽公网安备 35060202000074号