明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

J2EE編程起步

[摘要]本文通過(guò)簡(jiǎn)單例子,描述如何利用EJB開(kāi)發(fā)、部署和運(yùn)行一個(gè)客戶(hù)機(jī)/服務(wù)器應(yīng)用。例子的客戶(hù)端作為Java獨(dú)立應(yīng)用運(yùn)行,由ConverterClient.java類(lèi)實(shí)現(xiàn)。它實(shí)現(xiàn)一個(gè)簡(jiǎn)單的實(shí)時(shí)會(huì)話(huà),主要通過(guò)客戶(hù)端應(yīng)用調(diào)用服務(wù)器端EJB類(lèi)ConverterEJB.java來(lái)實(shí)現(xiàn)。如果你已經(jīng)安裝了J2EE,則...
本文通過(guò)簡(jiǎn)單例子,描述如何利用EJB開(kāi)發(fā)、部署和運(yùn)行一個(gè)客戶(hù)機(jī)/服務(wù)器應(yīng)用。例子的客戶(hù)端作為Java獨(dú)立應(yīng)用運(yùn)行,由ConverterClient.java類(lèi)實(shí)現(xiàn)。它實(shí)現(xiàn)一個(gè)簡(jiǎn)單的實(shí)時(shí)會(huì)話(huà),主要通過(guò)客戶(hù)端應(yīng)用調(diào)用服務(wù)器端EJB類(lèi)ConverterEJB.java來(lái)實(shí)現(xiàn)。如果你已經(jīng)安裝了J2EE,則可以在doc/guides/ejb/examples/converter目錄中找到這些例子。

   為了實(shí)現(xiàn)本文所描述的簡(jiǎn)單例子,你需要完成以下任務(wù):

   ·編寫(xiě)和編譯EJB程序
   ·創(chuàng)建J2EE應(yīng)用
   ·打包EJB(.jar)
   ·部署J2EE應(yīng)用
   ·編寫(xiě)和編譯客戶(hù)端程序
   ·運(yùn)行客戶(hù)端

   下面章節(jié)我們將就上述工作任務(wù)以及所涉及的知識(shí)點(diǎn)進(jìn)行簡(jiǎn)單闡述。

   前提

   實(shí)現(xiàn)本文提供例子的前提是您安裝了Javasoft.com或相關(guān)操作系統(tǒng)廠(chǎng)商網(wǎng)站下載的J2SE SDK,以及安裝了相應(yīng)操作系統(tǒng)版本的J2EE SDK(www.javasoft.com下載)并進(jìn)行了正確配置。關(guān)于J2SE和J2EE的安裝、配置和其它進(jìn)一步信息,請(qǐng)參閱產(chǎn)品相關(guān)文檔。

   EJB編碼

   每個(gè)EJB程序必須要求編寫(xiě)下述代碼:

   ·遠(yuǎn)程接口(Remote interface )
   ·本地接口(Home interface )
   ·實(shí)現(xiàn)組件(Enterprise bean class )

   遠(yuǎn)程接口編碼

   遠(yuǎn)程接口定義了客戶(hù)端能夠調(diào)用的商業(yè)方法,這些商業(yè)方法是有服務(wù)器端的企業(yè)組件實(shí)現(xiàn)的,本文所涉及的Converter.java編碼如下:

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

  public interface Converter extends EJBObject {//必須繼承EJBObject類(lèi)
  /*定義客戶(hù)端可以調(diào)用的方法*/
  public double dollarToYen(double dollars) throws RemoteException;
  public double yenToEuro(double yen) throws RemoteException;
  }


   本地接口編碼

   本地接口定義了員徐客戶(hù)端創(chuàng)建、查找或移動(dòng)EJB的方法,本文所涉及的本地接口類(lèi)ConverterHome接口只定義了一個(gè)create方法,返回遠(yuǎn)程接口類(lèi)型,編碼如下:

  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;
  }


   企業(yè)組件類(lèi)(EJB)編碼

   本文中的企業(yè)組件(EJB)是一個(gè)無(wú)狀態(tài)會(huì)話(huà)組件,命名為ConverterEJB.java,該組件實(shí)現(xiàn)了兩個(gè)商業(yè)方法:dollarToYen和yenToEuro,與遠(yuǎn)程接口Converter所定義客戶(hù)端可訪(fǎng)問(wèn)方法一致,該類(lèi)編碼如下:

  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) {}
  }


   編譯EJB

   現(xiàn)在需要對(duì)上述三個(gè)類(lèi)進(jìn)行編譯,在UNIX平臺(tái)和NT/9X平臺(tái)上的編譯略有區(qū)別,分別如下編譯:

   UNIX:

   1. 在下面的腳本compileEJB.sh中,將該成實(shí)際J2EE安裝目錄。


  #!/bin/sh
  J2EE_HOME=
  CPATH=.:$J2EE_HOME/lib/j2ee.jar
  javac -classpath "$CPATH" ConverterEJB.java ConverterHome.java Converter.java


   2. 運(yùn)行compileEJB.sh 腳本

   Windows:

   1. 在下面的compileEJB.bat批處理文件中,將 該為實(shí)際J2EE安裝目錄。

  set J2EE_HOME=
  set CPATH=.;%J2EE_HOME%\lib\j2ee.jar
  javac -classpath %CPATH% ConverterEJB.java ConverterHome.java Converter.java

   2. 運(yùn)行批處理文件compileEJB.bat。

   創(chuàng)建J2EE應(yīng)用

   你不能夠直接將企業(yè)組件(EJB)部署到J2EE服務(wù)器,必須將組件加到一個(gè)J2EE 應(yīng)用中然后再部署。在本節(jié),你將創(chuàng)建一個(gè)叫做ConverterApp的新J2EE應(yīng)用并保存為ConverterApp.ear。

   1. 在命令行提示符下啟動(dòng)J2EE服務(wù)器:

  j2ee ?verbose
  (停止服務(wù)器命令 j2ee -stop.)

   2. 在另一個(gè)終端窗口運(yùn)行部署工具:

  deploytool
  (按F1獲取部署工具幫助)

   3. 創(chuàng)建新的J2EE應(yīng)用

  a. 在部署工具中選擇“文件”菜單
  b. 從“文件”菜單中選擇“新應(yīng)用”
  c. 點(diǎn)擊瀏覽
  d. 在文件選擇框中定位存放.ear文件的目錄
  e. 文件命名為ConverterApp.ear.
  f. 點(diǎn)擊“新應(yīng)用”
  g. 點(diǎn)擊“確定”

   企業(yè)組件(EJB)打包

   本部分你將運(yùn)行部署工具的創(chuàng)建EJB向?qū)?lái)完成下述任務(wù):

  ·創(chuàng)建組件部署描述符
  ·將描述符和組件類(lèi)打包為.jar文件
  ·將EJB.jar文件打包到J2EE應(yīng)用ConverterApp.ear 文件

   從“文件”菜單中選擇創(chuàng)建EJB來(lái)開(kāi)始創(chuàng)建新的EJB,這個(gè)向?qū)@示下面的對(duì)話(huà)框:

   介紹對(duì)話(huà)框:

  a. 閱讀向?qū)匦哉f(shuō)明文檔
  b. 點(diǎn)擊“下一步”

   EJB JAR 對(duì)話(huà)框:

  a. 在標(biāo)有"Enterprise Bean will go in," 的組合框中選擇ConverterApp.
  b.在JAR Display Name域輸入ConverterJAR,聲明EJB .jar文件包含該組件,該名字會(huì)在樹(shù)形應(yīng)用結(jié)構(gòu)中呈現(xiàn)。
  c. 點(diǎn)擊增加內(nèi)容文本域
  d. 在內(nèi)容編輯對(duì)話(huà)框頂部,輸入包含.class文件的目錄
  e. 選擇該目錄下相關(guān).class加入:Converter.class, ConverterEJB.class, 和ConverterHome.class.
  f. 點(diǎn)擊確定
  g. 點(diǎn)擊下一步



標(biāo)簽:J2EE編程起步