用j2ee实现的一个简单的会话bean(译自j2ee tutorial)
来源:网络 更新时间:2014-12-11
Gettingstart(为了和tutorial的章节名字相对,以后所有章节采用英文名字)
设置:
在你开始运行所给的应用程序事例前,你应当按照步骤下载和配置服务器。
1.下载示例代码:
本教程的源代码在J2EEtutorial/examples/src/EJB/converter文件夹下,当你下载并解压缩tutorialbundle的后,会找到这个目录。
下载地址:http://Java.sun.com/j2ee/download.html#tutoril
2.下载build工具(ant)
为了运行实例,你必须下载并且安装j2eesdk和ant。
j2eesdk下载地址:http://java.sun.com/j2ee/download.html#sdk;
ant下载地址:http://jakarta.apache.org/builds/jakarta-ant/release/v1.3/bin
按照提示解压缩或者安装即可。
3.检查环境变量
在系统的环境变量中,设置如下:
JAVA_HOME:J2SEsdk安装的目录
J2EE_HOME:j2eesdk安装的目录
ANT_HOME:ant安装的目录
PATH:里面必须含有j2se,j2ee,ant下的bin目录
4.运行j2ee服务器
在命令提示行下输入j2ee-verbose
-verbose不是必需的,但是有利于debug。
要停止服务,输入
j2ee-stop
5.运行deploytool
你可以使用2种模式,命令行或者GUI。这里推荐大家使用GUI。
运行了j2ee后,在命令提示行输入deploytool。
建立j2ee应用程序
这个简单的应用程序含有3个组件:一个entERPrisebean,一个j2ee客户,一个Web组件。在建造这些组件之前,你必须建立一个j2ee应用名字叫CoverterApp,这个会被存储在ConverterApp.ear的文件中
1.在deploytool中,选择FileNewApplication。
2.点Browse。
3.选择目录j2eetutorial/examples/src/ejb/converter。
4.输入文件名字ConverterApp.ear。
5.点NewApplication。
6.点OK。
建立enterprisebean
一个enterprisebean是一个包含了商业逻辑的服务器组件。在运行时,客户通过调用enterprisebean的方法执行商业逻辑。在这个例子中,这个bean是一个无状态的会话bean名字是CoverterEJB。源代码在j2eetutorial/examples/src/ejb/converterdirectory。
一个enterprisebean包含3个部分:
1.Remoteinterface
2.Homeinterface
3.Enterprisebeanclass
一个Remoteinterface定义了客户可以调用的方法,方法实现于enterprisebean代码,这个实例的Remoteinterface如下:
importjavax.ejb.EJBObject;
importjava.rmi.RemoteException;
importjava.math.*;
publicinterfaceConverterextendsEJBObject{
publicBigDecimaldollarToYen(BigDecimaldollars)
throwsRemoteException;
publicBigDecimalyenToEuro(BigDecimalyen)
throwsRemoteException;
}
一个homeinterface允许一个客户创建,查询或者删除一个enterprisebean。ConverterHomeinterface含有一个创建方法,返回一个remoteinterface类型。
importjava.io.Serializable;
importjava.rmi.RemoteException;
importjavax.ejb.CreateException;
importjavax.ejb.EJBHome;
publicinterfaceConverterHomeextendsEJBHome{
Convertercreate()throwsRemoteException,CreateException;
}
这个示例的enterprisebean类名字是ConverterBean。这个类实现2个商业方法,dollarToYen和yenToEuro。
importjava.rmi.RemoteException;
importjavax.ejb.SessionBean;
importjavax.ejb.SessionContext;
importjava.math.*;
publicclassConverterBeanimplementsSessionBean{
BigDecimalyenRate=newBigDecimal("121.6000");
BigDecimaleuroRate=newBigDecimal("0.0077");
publicBigDecimaldollarToYen(BigDecimaldollars){