J2EE程式設計起步

azz發表於2007-08-23
J2EE程式設計起步[@more@]  本文透過簡單例子,描述如何利用EJB開發、部署和執行一個客戶機/伺服器應用。例子的客戶端作為Java獨立應用執行,由ConverterClient.java類實現。它實現一個簡單的實時會話,主要透過客戶端應用呼叫伺服器端EJB類ConverterEJB.java來實現。如果你已經安裝了J2EE,則可以在doc/guides/ejb/examples/converter目錄中找到這些例子。

   為了實現本文所描述的簡單例子,你需要完成以下任務:

   ·編寫和編譯EJB程式
   ·建立J2EE應用
   ·打包EJB(.jar)
   ·部署J2EE應用
   ·編寫和編譯客戶端程式
   ·執行客戶端

   下面章節我們將就上述工作任務以及所涉及的知識點進行簡單闡述。

   前提

   實現本文提供例子的前提是您安裝了Javasoft.com或相關作業系統廠商網站的J2SE SDK,以及安裝了相應作業系統版本的J2EE SDK(下載)並進行了正確配置。關於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) {}
  }


   編譯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 %CPATH% ConverterEJB.java ConverterHome.java Converter.java

   2. 執行批處理檔案compileEJB.bat。

   建立J2EE應用

   你不能夠直接將企業元件(EJB)部署到J2EE伺服器,必須將元件加到一個J2EE 應用中然後再部署。在本節,你將建立一個叫做ConverterApp的新J2EE應用並儲存為ConverterApp.ear。

   1. 在命令列提示符下啟動J2EE伺服器:

  j2ee ?verbose
  (停止伺服器命令 j2ee -stop.)

   2. 在另一個終端視窗執行部署工具:

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

   3. 建立新的J2EE應用

  a. 在部署工具中選擇“檔案”選單
  b. 從“檔案”選單中選擇“新應用”
  c. 點選瀏覽
  d. 在檔案選擇框中定位存放.ear檔案的目錄
  e. 檔案命名為ConverterApp.ear.
  f. 點選“新應用”
  g. 點選“確定”

   企業元件(EJB)打包

   本部分你將執行部署工具的建立EJB嚮導來完成下述任務:

  ·建立元件部署描述符
  ·將描述符和元件類打包為.jar檔案
  ·將EJB.jar檔案打包到J2EE應用ConverterApp.ear 檔案

   從“檔案”選單中選擇建立EJB來開始建立新的EJB,這個嚮導將顯示下面的對話方塊:

   介紹對話方塊:

  a. 閱讀嚮導特性說明文件
  b. 點選“下一步”

   EJB JAR 對話方塊:

  a. 在標有"Enterprise Bean will go in," 的組合框中選擇ConverterApp.
  b.在JAR Display Name域輸入ConverterJAR,宣告EJB .jar檔案包含該元件,該名字會在樹形應用結構中呈現。
  c. 點選增加內容文字域
  d. 在內容編輯對話方塊頂部,輸入包含.class檔案的目錄
  e. 選擇該目錄下相關.class加入:Converter.class, ConverterEJB.class, 和ConverterHome.class.
  f. 點選確定
  g. 點選下一步

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10901326/viewspace-965488/,如需轉載,請註明出處,否則將追究法律責任。

相關文章