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

Windows 2000 下 J2EE 1.2.1 安裝部署完整實戰教程

     編輯:Java 程式設計入門

環境需求

  • OS:Windows 2000 Server / NT 4.0
  • 記憶體:建議 128MB 以上
  • JDK:正確安裝並設定 JAVA_HOME
  • 下載:j2sdkee-1_2_1-win.exe (SDK) 、j2sdkee-1_2_1-doc-win.exe (文檔)

安裝步驟

  1. 執行 SDK 安裝程式,預設路徑 C:\j2sdkee1.2.1,建議改為 C:\j2ee 便於配置
  2. 安裝文檔至 C:\j2ee\doc
  3. 設定環境變數 (系統變數):
    • JAVA_HOME=C:\JDK (你的 JDK 目錄)
    • J2EE_HOME=C:\j2ee
    • CLASSPATH 追加 C:\j2ee\lib\j2ee.jar;.

啟動 J2EE 伺服器

C:\j2ee\bin> j2ee -verbose
J2EE server Listen Port: = 1049
Naming service started: :1050
Published the configuration object ...
Binding DataSource, name = jdbc/Cloudscape, url = jdbc:cloudscape:rmi:Cloudscape DB;create=true
Web service started: 9191
Web service started: 8000
Web service started: 7000
J2EE server startup complete.

瀏覽器訪問 https://localhost:8000 確認 Web 容器運行。

範例應用:Currency Converter EJB

1. 介面與實作類別

// Converter.java (Remote Interface)
public interface Converter extends EJBObject {
    double dollarToYen(double dollars) throws RemoteException;
    double yenToEuro(double yen) throws RemoteException;
}

// ConverterHome.java (Home Interface)
public interface ConverterHome extends EJBHome {
    Converter create() throws RemoteException, CreateException;
}

// ConverterEJB.java (Bean Implementation)
public class ConverterEJB implements SessionBean {
    public double dollarToYen(double dollars) { return dollars * 121.6; }
    public double yenToEuro(double yen) { return yen * 0.0077; }
    // EJB 生命週期方法
    public void ejbCreate() {}
    public void ejbRemove() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
    public void setSessionContext(SessionContext sc) {}
}

2. 編譯

C:\MYEJB\converter> javac *.java

3. Deployment Tool 部署

  1. 啟動:C:\j2ee\bin> deploytool
  2. File → New Application → Application File: c:\MYEJB\converter\test.ear, Display Name: test
  3. File → New Enterprise Bean → Add Class Files (ConverterEJB.class, ConverterHome.class, Converter.class) → Root Dir: C:\MYEJB\converter
  4. Bean 設定:Enterprise Bean Class: ConverterEJB, Home: ConverterHome, Remote: Converter, Display Name: MyTest, Type: Stateless Session
  5. Tools → Deploy Application → 勾選 Return Client Jar → JNDI Name: MyConverter (需與 Client 程式碼一致) → Finish

4. Client 端測試

// ConverterClient.java
public class ConverterClient {
    public static void main(String[] args) {
        try {
            Context initial = new InitialContext();
            Object objref = initial.lookup("MyConverter");
            ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref, ConverterHome.class);
            Converter converter = home.create();
            System.out.println(converter.dollarToYen(100.00));  // 12160.0
            System.out.println(converter.yenToEuro(100.00));    // 0.77
        } catch (Exception ex) { ex.printStackTrace(); }
    }
}
C:\MYEJB\converter> java -classpath C:\j2ee\lib\j2ee.jar;.;testClient.jar ConverterClient
12160.0
0.77

常見問題排查

  • ClassNotFoundException:CLASSPATH 未包含 j2ee.jar 或 testClient.jar
  • NameNotFoundException:JNDI 名稱與 deploytool 設定不一致
  • 伺服器啟動失敗:檢查埠口衝突 (1049, 1050, 7000, 8000, 9191)、JDK 版本相容性
  • 部署工具啟動慢/卡死:記憶體不足,增加 JVM heap:deploytool -J-Xmx256m

路徑符號提醒

文中路徑反斜線 \ 為全形字元,實際使用請改為半形 \ (Windows) 或 / (跨平台)。

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