首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

J2EE 入門實戰:EJB 開發、部署與客戶端呼叫完整流程

     編輯:Java 程式設計入門

前言

本文以 Sun 官方 Converter 範例為基礎,完整示範從撰寫 EJB、編譯、打包、部署至撰寫客戶端呼叫的完整流程,幫助初學者建立 J2EE 開發全貌。

開發前提

  • 已安裝 J2SE SDK
  • 已安裝並正確配置 J2EE SDK
  • 範例程式碼位於 J2EE_HOME/doc/guides/ejb/examples/converter

核心任務清單

  1. 撰寫並編譯 EJB 程式
  2. 建立 J2EE 應用程式
  3. 打包 EJB (.jar)
  4. 部署 J2EE 應用程式
  5. 撰寫並編譯客戶端程式
  6. 執行客戶端驗證

EJB 三大核心類別撰寫

1. 遠端介面 - Converter.java

import javax.ejb.EJBObject;
import java.rmi.RemoteException;

public interface Converter extends EJBObject {
    public double dollarToYen(double dollars) throws RemoteException;
    public double yenToEuro(double yen) throws RemoteException;
}

定義客戶端可呼叫的商業方法,必須繼承 EJBObject,方法須拋出 RemoteException。

2. 家庭介面 - ConverterHome.java

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 的方法,本例僅定義 create() 回傳遠端介面型別。

3. 企業 Bean 實作 - ConverterEJB.java

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;
    }
    // SessionBean 必須實作的生命週期方法
    public void ejbCreate() {}
    public void ejbRemove() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
    public void setSessionContext(SessionContext sc) {}
}

本例為無狀態 Session Bean,實作兩個匯率轉換商業邏輯。

編譯 EJB

需將 J2EE_HOME/lib/j2ee.jar 加入 classpath。

Windows 批次檔

set J2EE_HOME=你的J2EE安裝路徑
set CPATH=.;%J2EE_HOME%\lib\j2ee.jar
javac -classpath %CPATH% ConverterEJB.java ConverterHome.java Converter.java

建立 J2EE 應用程式

  1. 啟動 J2EE 伺服器:j2ee -verbose
  2. 啟動部署工具:deploytool
  3. 「檔案」→「新應用程式」→ 瀏覽目錄 → 命名 ConverterApp.ear → 確定

打包 EJB (.jar)

  1. 部署工具選「檔案」→「建立 EJB」啟動精靈
  2. 選擇應用程式 ConverterApp
  3. JAR 顯示名稱:ConverterJAR
  4. 「編輯內容」加入編譯產生的 .class 檔:Converter.class, ConverterEJB.class, ConverterHome.class
  5. 完成精靈,EJB 自動打包進 ConverterApp.ear

部署應用程式

在部署工具中選擇 ConverterApp.ear,點選「部署」按鈕,選擇目標伺服器完成部署。

撰寫客戶端程式

import converter.Converter;
import converter.ConverterHome;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.util.Properties;

public class ConverterClient {
    public static void main(String[] args) {
        try {
            Properties props = new Properties();
            props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
            props.put(Context.PROVIDER_URL, "iiop://localhost:3700");
            Context ctx = new InitialContext(props);

            ConverterHome home = (ConverterHome) ctx.lookup("ConverterHome");
            Converter converter = home.create();

            double yen = converter.dollarToYen(100.00);
            System.out.println("100 美元 = " + yen + " 日圓");
            double euro = converter.yenToEuro(yen);
            System.out.println(yen + " 日圓 = " + euro + " 歐元");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

編譯與執行客戶端

javac -classpath %J2EE_HOME%\lib\j2ee.jar ConverterClient.java
java -classpath .;%J2EE_HOME%\lib\j2ee.jar ConverterClient

總結

完成上述流程,即掌握 EJB 開發部署的核心骨架。實務上再加上資料庫連線、交易管理、安全性配置等進階主題,即可建構企業級應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved