Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16492451
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:34:49

下载本文示例代码
br>   在上一讲,我们将EJB通过Application Deployment Tool发布进了J2EE服务器中去。我想大家十分想使用一个客户端的程序来调用它。好,我们这一讲就来讲讲客户端程序的编 写。   首先,我们先理一下思路。如果要使用服务器上的EJB哪么首先我们要得到一个Home接口,而这个接口需要你通过JNDI来得到,哪么JNDI是通过什么来找Home接口呢?哪就是我们在上一讲中所提到的在Application Deploying Tools里最后一步定义的JNDI name。再来理一下,首先,我们通过JNDI name利用JNDI来得到一个Home接口。再通过这个Home接口中的creat方法来得到一个Bean的实例化对象。以下为这段程序的代码:   我们新建一EJBClient的工程,在这个工程中我们加入一ConverterClient.java文件,同时在工程中加入J2EE的lib引用,并且更增加一个lib,这个lib指向我们在上一讲中使用Application Deployment Tool生成的ConverterAppClient.jar文件。这里包括了EJB在客户端所使用的库文件。以下是ConverterClient.java文件代码: ConverterClient.java /**   * Title: EJB Client Test Project$#@60;p$#@62;   * Description: $#@60;p$#@62;   * Copyright: Copyright (c) HD$#@60;p$#@62;   * Company: China Code$#@60;p$#@62;   * @author HD   * @version 1.0 */ package ejbclient; import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; //引用了EJB及EJB在Home的接口 import ejbtest.Converter; import ejbtest.ConverterHome; public class ConverterClient { public static void main(String[] args) {   try {    //创建一个JNDI naming contest    Context initial = new InitialContext();    //从JNDI中以MyConverter名子来定位到对象(我们在发布时指定了这里能定位的JNDI的名称)    Object objref = initial.lookup("MyConverter");    //通过objref得到ConverterHome本地接口    ConverterHome home =      (ConverterHome)PortableRemoteObject.narrow(objref,   ConverterHome.class);    //再由Home接口的create方法来创建一个服务器上的EJB实例    Converter currencyConverter = home.create();    //调用EJB中的方法    double amount = currencyConverter.dollarToYen(100.00);    System.out.println(String.valueOf(amount));    amount = currencyConverter.yenToEuro(100.00);    System.out.println(String.valueOf(amount));   } catch (Exception ex) {   System.err.println("Caught an unexpected exception!");   ex.printStackTrace();    }   } }   把这个java文件加入到在第一讲中我们建立的工程文件中去,让Jbuilder make工程一次。这样就会得到ConverterClient.class文件。在运行前我们要设置一下Jbuilder的工程,在Project-Project Properties…的Project Properties对话框中的Run Tab中设置Application的Main Class为ConverterClient。   如果你得到java.lang.ClassCastException的意外。哪么你需要确定是否在Project的lib中加入了对ConverterAppClient.jar包的引用。另外你一定要确认你在工程中使用的JNDI name是否与你在程序中使用的名称一样。通常出现问题就在这点了。   好,这里让你运行起来了第一个EJB的程序。实际上很简单,不是吗?我们会在下一讲中来讲讲EJB实施的原理。我在大多数的教程中都看到的是将理论放在最开始的地方,而我觉得先运行起一个实例更有利于大家的学习,更能有效的对EJB有一个深入的认识。我们在下一讲中来依照我们刚完成的实例理解一下EJB的部属和使用。 相关资源:   有关本文章相关问题可以到news://news.chinacode.net 新闻组的CCU.Program.Java.EJB组中去讨论。同时你也可以在哪里找到本文章最新的版本。 转自 中国代码联盟新闻组 br>   在上一讲,我们将EJB通过Application Deployment Tool发布进了J2EE服务器中去。我想大家十分想使用一个客户端的程序来调用它。好,我们这一讲就来讲讲客户端程序的编 写。   首先,我们先理一下思路。如果要使用服务器上的EJB哪么首先我们要得到一个Home接口,而这个接口需要你通过JNDI来得到,哪么JNDI是通过什么来找Home接口呢?哪就是我们在上一讲中所提到的在Application Deploying Tools里最后一步定义的JNDI name。再来理一下,首先,我们通过JNDI name利用JNDI来得到一个Home接口。再通过这个Home接口中的creat方法来得到一个Bean的实例化对象。以下为这段程序的代码:   我们新建一EJBClient的工程,在这个工程中我们加入一ConverterClient.java文件,同时在工程中加入J2EE的lib引用,并且更增加一个lib,这个lib指向我们在上一讲中使用Application Deployment Tool生成的ConverterAppClient.jar文件。这里包括了EJB在客户端所使用的库文件。以下是ConverterClient.java文件代码: ConverterClient.java /**   * Title: EJB Client Test Project$#@60;p$#@62;   * Description: $#@60;p$#@62;   * Copyright: Copyright (c) HD$#@60;p$#@62;   * Company: China Code$#@60;p$#@62;   * @author HD   * @version 1.0 */ package ejbclient; import javax.naming.Context; import javax.naming.InitialContext; import javax.rmi.PortableRemoteObject; //引用了EJB及EJB在Home的接口 import ejbtest.Converter; import ejbtest.ConverterHome; public class ConverterClient { public static void main(String[] args) {   try {    //创建一个JNDI naming contest    Context initial = new InitialContext();    //从JNDI中以MyConverter名子来定位到对象(我们在发布时指定了这里能定位的JNDI的名称)    Object objref = initial.lookup("MyConverter");    //通过objref得到ConverterHome本地接口    ConverterHome home =      (ConverterHome)PortableRemoteObject.narrow(objref,   ConverterHome.class);    //再由Home接口的create方法来创建一个服务器上的EJB实例    Converter currencyConverter = home.create();    //调用EJB中的方法    double amount = currencyConverter.dollarToYen(100.00);    System.out.println(String.valueOf(amount));    amount = currencyConverter.yenToEuro(100.00);    System.out.println(String.valueOf(amount));   } catch (Exception ex) {   System.err.println("Caught an unexpected exception!");   ex.printStackTrace();    }   } }   把这个java文件加入到在第一讲中我们建立的工程文件中去,让Jbuilder make工程一次。这样就会得到ConverterClient.class文件。在运行前我们要设置一下Jbuilder的工程,在Project-Project Properties…的Project Properties对话框中的Run Tab中设置Application的Main Class为ConverterClient。   如果你得到java.lang.ClassCastException的意外。哪么你需要确定是否在Project的lib中加入了对ConverterAppClient.jar包的引用。另外你一定要确认你在工程中使用的JNDI name是否与你在程序中使用的名称一样。通常出现问题就在这点了。   好,这里让你运行起来了第一个EJB的程序。实际上很简单,不是吗?我们会在下一讲中来讲讲EJB实施的原理。我在大多数的教程中都看到的是将理论放在最开始的地方,而我觉得先运行起一个实例更有利于大家的学习,更能有效的对EJB有一个深入的认识。我们在下一讲中来依照我们刚完成的实例理解一下EJB的部属和使用。 相关资源:   有关本文章相关问题可以到news://news.chinacode.net 新闻组的CCU.Program.Java.EJB组中去讨论。同时你也可以在哪里找到本文章最新的版本。 转自 中国代码联盟新闻组 下载本文示例代码


代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)代码人生学习品之EJB入门篇(三)
阅读(102) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~