中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > JavaScripts > 综合文章
J2EE入门(4)
作者:佚名 时间:2005-03-25 11:03 出处:互连网 责编:chinaitpower
              摘要:J2EE入门(4)

创建J2EETM应用程序客户端


J2EE应用程序客户端由JavaTM语言编写,在运行的时候,客户端程序和J2EE SERVER执行在不同的虚拟机(VM)中


在这个例子中,J2EE应用程序客户端需要两个不同的JAR文件.第一个JAR文件是客户端的J2EE组件.这个JAR文件包含客户端的deployment descriptor和它的类文件.当你运行New Application Client wizard,deploytool自动创建JAR文件然后把它存到应用程序的EAR文件中. 由J2EE规范定义的JAR文件可以方便的跨越所有兼容J2EE的服务器.


第二个JAR文件包含客户端程序运行时必需的stub类.这些stub类使客户端可以访问运行在J2EE server上的enterprise beans. Because this second JAR file is not covered by the J2EE Specifications, it is implementation-specific, intended only for the J2EE SDK.


J2EE应用程序客户端源代码在examples/src/ejb/converter/ConverterClient.java中.在这个章节中,你已经把它随同enterprise bean代码一起编译, 编译源码文件.


编写J2EE应用程序客户端


ConverterClient.java源代码说明了enterprise bean的客户端执行的基本任务:



  • 定位home interface
  • 创建enterprise bean实例
  • 调用商务方法

定位Home Interface


ConverterHome接口定义象create一样具有生命周期的方法.在ConverterClient能调用create方法之前,它必须例示(instantiate)ConverterHome类型的对象. 它分为3步处理:



  1. 创建JNDI naming context.
     Context initial = new InitialContext(); 

  2. 取得绑定到ejb/SimpleConverter的对象.
    Object objref = initial.lookup
    ("java:comp/env/ejb/SimpleConverter");

  3. Narrow the reference to a ConverterHome object.
     ConverterHome home =
    (ConverterHome) PortableRemoteObject.narrow(objref,
    ConverterHome.class);

创建一个Enterprise Bean实例


要创建bean实例,客户端调用ConverterHome中的create方法并且返回一个Converter类型的对象.远程Converter接口定义客户端可以调用的在bean中的商务方法.当客户端调用create方法时,EJB容器例示(instantiates)bean然后调用ConverterBean.ejbCreate方法. 客户端调用create方法如下所示:


Converter currencyConverter = home.create(); 

调用商务方法


调用一个商务方法非常容易--你只是调用Converter对象上的方法。EJB容器将在运行于服务端的ConverterEJB实例上调用相应的方法. 下面一行代码是客户端调用dollarToYen上的商务方法.


double amount = currencyConverter.dollarToYen(100.00); 

ConverterClient源代码


完整的ConverterClient源码如下.


import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import Converter;
import ConverterHome;

public class ConverterClient {

public static void main(String[] args) {

try {
Context initial = new InitialContext();
Object objref = initial.lookup
("java:comp/env/ejb/SimpleConverter");
ConverterHome home =
(ConverterHome)PortableRemoteObject.narrow(
objref, ConverterHome.class);
Converter currencyConverter = home.create();

double amount =
currencyConverter.dollarToYen(100.00);
System.out.println(String.valueOf(amount));
amount = currencyConverter.yenToEuro(100.00);
System.out.println(String.valueOf(amount));

currencyConverter.remove();

} catch (Exception ex) {
System.err.println("Caught an unexpected exception!");
ex.printStackTrace();
}
}
}

编译应用程序客户端


应用程序客户端文件和enterprise bean文件同时被编译,可参考编译源文件中所述.


打包J2EE应用程序客户端


打包应用程序客户端组件, 你需要运行deploytool的New Application Client Wizard. 在这个过程中, 向导把客户端文件编译成一个JAR文件然后把这个JAR文件加到应用程序的ConverterApp.ear文件中.


启动New Application Client Wizard,选择File->New Application Client. 向导显示下面的对话框.



  1. Introduction对话框:

    1. 阅读关于向导特性概览的说明.
    2. 单击 Next.

  2. JAR File Contents对话框

    1. 在这个组合框中,选择 ConverterApp.
    2. 单击 Edit.
    3. 在Available Files目录树中, 定位到examples/build/ejb/converter目录.
    4. 选择ConverterClient.class file文件然后单击Add.
    5. 单击 OK.
    6. 单击 Next.

  3. 常规对话框:

    1. 在Main Class组合框,选择 ConverterClient.
    2. 检验Display Name栏的内容是ConverterClient.
    3. 在Callback Handler Class组合框,选择 container-managed authentication.
    4. 单击 Next.
    5. 单击 Finish.

指定应用程序客户端的Enterprise Bean Reference


当调用lookup方法时,ConverterClient引用一个enterprise bean:


Object objref = initial.lookup
("java:comp/env/ejb/SimpleConverter");

如下指定reference:



  1. 在树目录中,选择ConverterClient.
  2. 选择EJB Ref's tab.
  3. 单击 Add.
  4. 在Coded Name列输入ejb/SimpleConverter.
  5. 在Type列,选择 Session.
  6. 在Interfaces列,选择Remote.
  7. 在Home列输入ConverterHome.
  8. 在Remote列输入Converter.
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有