帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > JAVA编程
J2EE编程起步
作者:佚名 发布时间:2005-04-02 来源:不详
 
  为了帮助国内J2EE初学
助。
者,将J2EE部分文档进行编译,

期望能够对广大Java爱好者有所帮


  本文将通过简单例子,
子的客户端作为Java独立应
会话,主要通过客户端应用
J2EE,则可以在doc/guides
描述如何利用EJB开发、部署和
用运行,由ConverterClient.ja
调用服务器端EJB类ConverterEJ
/ejb/examples/converter目录
运行一个客户机/服务器应用。例
va类实现。它实现一个简单的实时
B.java来实现。如果你已经安装了
中找到这些例子。

  为了实现本文所描述的简单例子,你需要完成以下任务:                           


  编写和编译EJB程序                                                         

  创建J2EE应用                                                             

  打包EJB(.jar)                                                       

  部署J2EE应用                                                             

  编写和编译客户端程序                                                         

  运行客户端                                                                   


  下面章节我们将就上述工作任务以及所涉及的知识点进行简单阐述。                 


  前提                                                                         

  实现本文提供例子的前
SDK,以及安装了相应操作
关于J2SE和J2EE的安装、配
提是您安装了Javasoft.com或相
系统版本的J2EE SDK(www.javas
置和其它进一步信息,请参阅产
关操作系统厂商网站下载的J2SE
oft.com下载)并进行了正确配置。
品相关文档。


  EJB编码                                                                   

  每个EJB程序必须要求编写下述代码:                                         


  远程接口(Remote interface )                               

  本地接口(Home interface )                                   

  实现组件(Enterprise bean class )                     


  远程接口编码                                                                 

  远程接口定义了客户端能够调用的商
的,本文所涉及的Converter.java编码如
业方法,这些商业方法是有服务器端的企业组件实现
下:


  import javax.ejb.EJBObject;//引入必须的包       
  import java.rmi.RemoteException;             

  public interface Converter exten
ds EJBObject {//必须继承EJBObject类
  /*定义客户端可以调用的方法*/                                             
  public double dollar
ToYen(double dollars) throws
RemoteException;
  public double yenToEuro(double y
en) throws RemoteException;
  }                                                                           
  本地接口编码                                                                 

  本地接口定义了员徐客
ConverterHome接口只定义
户端创建、查找或移动EJB的方
了一个create方法,返回远程接
法,本文所涉及的本地接口类
口类型,编码如下:


  import java.io.Serializable;                     
  import java.rmi.RemoteException;             
  import javax.ejb.CreateException;           
  import javax.ejb.EJBHome;                           

  public interface Con
verterHome extends EJBHome {


  Converter create() t
hrows RemoteException, Creat
eException;
  }                                                                           

  企业组件类(EJB)编码                                                     

  本文中的企业组件(EJB)是一个无
实现了两个商业方法:dollarToYen和yen
方法一致,该类编码如下:
状态会话组件,命名为ConverterEJB.java,该组件
ToEuro,与远程接口Converter所定义客户端可访问

  import java.rmi.RemoteException;             
  import javax.ejb.SessionBean;                   
  import javax.ejb.SessionContext;             

  public class ConverterEJB implem
ents SessionBean {


  public double dollar
ToYen(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 setSessi
onContext(SessionContext sc)
{}
  }                                                                           

   ZDNet China | 新闻 | 产品 | 技
术 | 商务 | 下载 | 游戏 | 论坛 | 短信
                                                                           
                                                                               
   C#/C++/C | Java | W
indows 开发 |Web 开发 | Unix
/Linux | 开发过程
                                                                             
                                                                           
                                                                       
                                                                         
                                                                               
  编译EJB                                                                   

  现在需要对上述三个类
编译:
进行编译,在UNIX平台和NT/9X

平台上的编译略有区别,分别如下



  UNIX:                                                                   


  1. 在下面的脚本compileEJB.sh中,将该成实际J2EE安装目录。

  #!/bin/sh                                                           

  J2EE_HOME=                                                         
  CPATH=.:$J2EE_HOME/lib/j2ee.jar               

  javac -classpath "$CPATH" _                        
  ConverterEJB.java ConverterHome.
java Converter.java


  2. 运行compileEJB.sh 脚本                                   


  Windows:                                                             
  1. 在下面的compileEJ
B.bat批处理文件中,将该为实
际J2EE安装目录。

  set J2EE_HOME=                                                 
  set CPATH=.;%J2EE_HOME%libj2ee.jar     
  javac -classpath %CPATH% Convert
erEJB.java ConverterHome.java Converter.java


  2. 运行批处理文件compileEJB.bat。                           


  创建J2EE应用                                                             

                                                                             
  你不能够直接将企业组
后再部署。在本节,你将创

件(EJB)部署到J2EE服务器,必
建一个叫做ConverterApp的新J2

须将组件加到一个J2EE 应用中然
EE应用并保存为ConverterApp.ear



  1. 在命令行提示符下启动J2EE服务器:                                   
  j2ee ?verbose                                                   
  (停止服务器命令 j2ee -stop.)                                   

  2. 在另一个终端窗口运行部署工具:                                         
  deploytool                                                         
  (按F1获取部署工具帮助)                                                   

  3. 创建新的J2EE应用                                                   
  a. 在部署工具中选择“文件”菜单                                           
  b. 从“文件”菜单中选择“新应用”                                         
  c. 点击浏览                                                               
  d. 在文件选择框中定位存放.ear文件的目录                               
  e. 文件命名为ConverterApp.ear.                           
  f. 点击“新应用”                                                         
  g. 点击“确定”                                                           

   ZDNet China | 新闻
| 产品 | 技术 | 商务 | 下载
| 游戏 | 论坛 | 短信
                                                                           
                                                                               
   C#/C++/C | Java | Windows 开发
|Web 开发 | Unix/Linux | 开发过程
                                                                             
                                                                           
                                                                       
                                                                         
                                                                               
  编译EJB                                                                   

  现在需要对上述三个类
编译:
进行编译,在UNIX平台和NT/9X

平台上的编译略有区别,分别如下



  UNIX:                                                                   


  1. 在下面的脚本compileEJB.sh中,将该成实际J2EE安装目录。

  #!/bin/sh                                                           

  J2EE_HOME=                                                         
  CPATH=.:$J2EE_HOME/lib/j2ee.jar               

  javac -classpath "$CPATH" _                        
  ConverterEJB.java ConverterHome.
java Converter.java


  2. 运行compileEJB.sh 脚本                                   


  Windows:                                                             
  1. 在下面的compileEJB.bat批处理
文件中,将该为实际J2EE安装目录。

  set J2EE_HOME=                                                 
  set CPATH=.;%J2EE_HOME%libj2ee.jar     
  javac -classpath %CP
ATH% ConverterEJB.java Conve
rterHome.java Converter.java


  2. 运行批处理文件compileEJB.bat。                           


  创建J2EE应用                                                             

                                                                             
  你不能够直接将企业组
后再部署。在本节,你将创

件(EJB)部署到J2EE服务器,必
建一个叫做ConverterApp的新J2

须将组件加到一个J2EE 应用中然
EE应用并保存为ConverterApp.ear



  1. 在命令行提示符下启动J2EE服务器:                                   
  j2ee ?verbose                                                   
  (停止服务器命令 j2ee -stop.)                                   

  2. 在另一个终端窗口运行部署工具:                                         
  deploytool                                                         
  (按F1获取部署工具帮助)                                                   

  3. 创建新的J2EE应用                                                   
  a. 在部署工具中选择“文件”菜单                                           
  b. 从“文件”菜单中选择“新应用”                                         
  c. 点击浏览                                                               
  d. 在文件选择框中定位存放.ear文件的目录                               
  e. 文件命名为ConverterApp.ear.                           
  f. 点击“新应用”                                                         
  g. 点击“确定”                                                           

                                                                               
   ZDNet China | 新闻 | 产品 |
技术 | 商务 | 下载 | 游戏 | 论坛 | 短信
                                                                           
                                                                               
   C#/C++/C | Java | Windows 开发
|Web 开发 | Unix/Linux | 开发过程
                                                                             
                                                                           
                                                                       
                                                                         
                                                                               
  编译EJB                                                                   

  现在需要对上述三个类
编译:
进行编译,在UNIX平台和NT/9X

平台上的编译略有区别,分别如下



  UNIX:                                                                   


  1. 在下面的脚本compileEJB.sh中,将该成实际J2EE安装目录。

  #!/bin/sh                                                           

  J2EE_HOME=                                                         
  CPATH=.:$J2EE_HOME/lib/j2ee.jar               

  javac -classpath "$CPATH" _                        
  ConverterEJB.java Co
nverterHome.java Converter.j
ava


  2. 运行compileEJB.sh 脚本                                   


  Windows:                                                             
  1. 在下面的compileEJ
B.bat批处理文件中,将该为实
际J2EE安装目录。

  set J2EE_HOME=                                                 
  set CPATH=.;%J2EE_HOME%libj2ee.jar     
  javac -classpath %CP
ATH% ConverterEJB.java Conve
rterHome.java Converter.java


  2. 运行批处理文件compileEJB.bat。                           


  创建J2EE应用                                                             

                                                                             
  你不能够直接将企业组
后再部署。在本节,你将创

件(EJB)部署到J2EE服务器,必
建一个叫做ConverterApp的新J2

须将组件加到一个J2EE 应用中然
EE应用并保存为ConverterApp.ear



  1. 在命令行提示符下启动J2EE服务器:                                   
  j2ee ?verbose                                                   
  (停止服务器命令 j2ee -stop.)                                   

  2. 在另一个终端窗口运行部署工具:                                         
  deploytool                                                         
  (按F1获取部署工具帮助)                                                   

  3. 创建新的J2EE应用                                                   
  a. 在部署工具中选择“文件”菜单                                           
  b. 从“文件”菜单中选择“新应用”                                         
  c. 点击浏览                                                               
  d. 在文件选择框中定位存放.ear文件的目录                               
  e. 文件命名为ConverterApp.ear.                           
  f. 点击“新应用”                                                         
  g. 点击“确定”                                                           
   ZDNet China | 新闻 | 产品 | 技
术 | 商务 | 下载 | 游戏 | 论坛 | 短信
                                                                           
                                                                               
   C#/C++/C | Java | W
indows 开发 |Web 开发 | Unix
/Linux | 开发过程
                                                                               
  编译EJB                                                                   

  现在需要对上述三个类
编译:
进行编译,在UNIX平台和NT/9X

平台上的编译略有区别,分别如下


  UNIX:                                                                   

  1. 在下面的脚本compileEJB.sh中,将该成实际J2EE安装目录。

  #!/bin/sh                                                           

  J2EE_HOME=                                                         
  CPATH=.:$J2EE_HOME/lib/j2ee.jar               

  javac -classpath "$CPATH" _                        
  ConverterEJB.java ConverterHome.
java Converter.java


  2. 运行compileEJB.sh 脚本                                   


  Windows:                                                             
  1. 在下面的compileEJ
B.bat批处理文件中,将该为实
际J2EE安装目录。

  set J2EE_HOME=                                                 
  set CPATH=.;%J2EE_HOME%libj2ee.jar     
  javac -classpath %CPATH% Convert
erEJB.java ConverterHome.java Converter.java


  2. 运行批处理文件compileEJB.bat。                           


  创建J2EE应用                                                             

                                                                             
  你不能够直接将企业组
后再部署。在本节,你将创

件(EJB)部署到J2EE服务器,必
建一个叫做ConverterApp的新J2

须将组件加到一个J2EE 应用中然
EE应用并保存为ConverterApp.ear



  1. 在命令行提示符下启动J2EE服务器:                                   
  j2ee ?verbose                                                   
  (停止服务器命令 j2ee -stop.)                                   

  2. 在另一个终端窗口运行部署工具:                                         
  deploytool                                                         
  (按F1获取部署工具帮助)                                                   

  3. 创建新的J2EE应用                                                   
  a. 在部署工具中选择“文件”菜单                                           
  b. 从“文件”菜单中选择“新应用”                                         
  c. 点击浏览                                                               
  d. 在文件选择框中定位存放.ear文件的目录                               
  e. 文件命名为ConverterApp.ear.                           
  f. 点击“新应用”                                                         
  g. 点击“确定”                                                            
                                                                               

   开发客户端                                                                 

  客户端程序ConverterC
括以下步骤:
lient是一个独立运行的Java应

用,创建ConverterClient主要包

  1. 客户端编码                                                             
  2. 客户端编译                                                             


                                                                             
  客户端编码                                                                   
  ConverterClient.java 源码展示了E
JB客户端最基本的任务实现,即:


  定位本地接口                                                                 

  创建企业组件(EJB)                                                       

  调用商业方法                                                                 


  定位本地接口                                                                 

  ConverterHome接口定
create方法之前ConverterH
义了EJB声明周期方法如create
ome对象必须被实例化,包括三
,在中ConverterClient 可以调用
个步骤:


  1. 创建JNDI命名上下文                                                 


  Context initial = new InitialCon
text();

  2. 查找与JNDI命名MyConverter绑定的对象                     

  java.lang.Object objref = initia
l.lookup("MyConverter");

  3. 限定指向ConverterHome对象的参考                           

  ConverterHome home =                                     
  (ConverterHome) Port
ableRemoteObject.narrow(objr
ef,
  ConverterHome.class);                                   

  创建企业组件(EJB)实例                                                   

  客户端通过调用本地接口ConvertHom
create 方法返回组件Converter类型的对
业方法可以被客户端调用。当客户端调用
后调用ConverterEJB.ejbCreate 方法。
e对象的create方法创建ConverterEJB类对象,
象。然后,远程方法定义的在ConverterEJB实现的商
create 方法时,EJB容器将实例化ConverterEJB,然

  Converter currencyConverter = ho
me.create();


  调用商业方法                                                                 

  完成上述任务后,调用商业方法就比
将相应的调用运行在J2EE服务器中的Conv
dollarToYen的代码如下:
较简单了。你调用Converter对象的方法, EJB容器
erterEJB 例的方法。客户端调用商业方法



  double amount = currencyConverte
r.dollarToYen(100.00);
  ConverterClient源码                                            



  下面是ConverterClient.java的完整源码:                   


  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 = ne
w InitialContext();

  Object objref = init
ial.lookup("MyConverter");

  ConverterHome home =                                     
  (ConverterHome)PortableRemoteObj
ect.narrow(objref,
  ConverterHome.class);                                   

  Converter currencyConverter = ho
me.create();

  double amount = currencyConverte
r.dollarToYen(100.00);
  System.out.println(String.valueO
f(amount));

  amount = currencyCon
verter.yenToEuro(100.00);
  System.out.println(String.valueO
f(amount));

  currencyConverter.remove();                       

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

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·如何搭建J2EE开发环境  (2005-04-02)
 ·J2EE项目中如何组建开发团队  (2005-04-02)
 ·走向J2EE,漫长的道路  (2005-04-02)
 ·J2EE编程起步(1)  (2005-04-02)
 ·J2EE编程起步(2)  (2005-04-02)
 ·J2EE编程起步(3)  (2005-04-02)
 ·J2EE建议的学习路线  (2005-04-02)
 ·Web Service 和 J2EE  (2005-04-02)
 ·J2EE数据库设计入门  (2005-04-02)
 ·浅析J2EE、J2SE和J2ME  (2005-04-02)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·谈谈JDBC
·JDBC专题介绍
·JDBC接口技术
·利用weblogic的POOL(连接池)连接
·Jsp中调用Oracle存储过程的小例子
·JSP数据库操作例程
·JSP数据库连接大全
·用连接池提高Servlet访问数据库的效
·一种简单JDBC连接池的实现
·数据库连接池Java实现小结
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统