服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

j2ee编程起步(1)


  为了帮助国内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) {}
  }

扫描关注微信公众号