为了帮助国内j2ee初学者,将j2ee部分文档进行编译,期望能够对广大java爱好者有所帮助。
本文将通过简单例子,描述如何利用ejb开发、部署和运行一个客户机/服务器应用。例子的客户端作为java独立应用运行,由converterclient.java类实现。它实现一个简单的实时会话,主要通过客户端应用调用服务器端ejb类converterejb.java来实现。如果你已经安装了j2ee,则可以在doc/guides/ejb/examples/converter目录中找到这些例子。
为了实现本文所描述的简单例子,你需要完成以下任务:
编写和编译ejb程序
创建j2ee应用
打包ejb(.jar)
部署j2ee应用
编写和编译客户端程序
运行客户端
下面章节我们将就上述工作任务以及所涉及的知识点进行简单阐述。
前提
实现本文提供例子的前提是您安装了javasoft.com或相关操作系统厂商网站下载的j2se sdk,以及安装了相应操作系统版本的j2ee sdk(www.javasoft.com下载)并进行了正确配置。关于j2se和j2ee的安装、配置和其它进一步信息,请参阅产品相关文档。
ejb编码
每个ejb程序必须要求编写下述代码:
远程接口(remote interface )
本地接口(home interface )
实现组件(enterprise bean class )
远程接口编码
远程接口定义了客户端能够调用的商业方法,这些商业方法是有服务器端的企业组件实现的,本文所涉及的converter.java编码如下:
import javax.ejb.ejbobject;//引入必须的包
import java.rmi.remoteexception;
public interface converter extends ejbobject {//必须继承ejbobject类
/*定义客户端可以调用的方法*/
public double dollartoyen(double dollars) throws remoteexception;
public double yentoeuro(double yen) throws remoteexception;
}
本地接口编码
本地接口定义了员徐客户端创建、查找或移动ejb的方法,本文所涉及的本地接口类converterhome接口只定义了一个create方法,返回远程接口类型,编码如下:
import java.io.serializable;
import java.rmi.remoteexception;
import javax.ejb.createexception;
import javax.ejb.ejbhome;
public interface converterhome extends ejbhome {
converter create() throws remoteexception, createexception;
}
企业组件类(ejb)编码
本文中的企业组件(ejb)是一个无状态会话组件,命名为converterejb.java,该组件实现了两个商业方法:dollartoyen和yentoeuro,与远程接口converter所定义客户端可访问方法一致,该类编码如下:
import java.rmi.remoteexception;
import javax.ejb.sessionbean;
import javax.ejb.sessioncontext;
public class converterejb implements sessionbean {
public double dollartoyen(double dollars) {
return dollars * 121.6000;
}
public double yentoeuro(double yen) {
return yen * 0.0077;
}
public converterejb() {}
public void ejbcreate() {}
public void ejbremove() {}
public void ejbactivate() {}
public void ejbpassivate() {}
public void setsessioncontext(sessioncontext sc) {}
}
闽公网安备 35060202000074号