Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
图解JDeveloper 10g快速开发会话EJB

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

摘要 本文详细介绍了在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应用服务器:

D:\Documents and Settings\Administrator>g:
G:\>cd jdev9052\j2ee\home
G:\jdev9052\j2ee\home>java -jar oc4j.jar –install

  正常情况下,该命令将显示如下信息:

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、验证和测试Hello Session Bean

  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等应用服务器软件的使用方法。这种特性,使得应用开发者可将更多的精力投入到应用系统的设计和开发中去,从而,可大大提高开发效率。



相关文章

相关软件