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

靈活運用 EJB 本地與遠端介面 (二):專案建立、實體映射與依賴配置實戰

     編輯:Java 相關知識

本篇為系列教學第二部分,手把手演示在 WebSphere Studio Application Developer (WSAD) 中建立雙介面 EJB 應用的完整專案結構、資料模型、EJB 元件與 Web 元件,並詳述專案依賴配置與 CMP 關係映射關鍵步驟。

一、 步驟 1:建立資料模型與持久化存儲

進入 DB2 控制中心,建立資料庫 dualDB 並執行建表腳本:

CREATE TABLE PERSON (
    ID INTEGER NOT NULL PRIMARY KEY,
    FIRSTNAME VARCHAR(40),
    LASTNAME VARCHAR(40)
)

腳本亦收錄於下載包 Table.ddl 中。

二、 步驟 2:建立專案結構 (共 7 個專案)

依序建立,命名嚴格遵循慣例:

專案類型專案名稱用途說明關鍵設置
Java ProjectDualJavaModule00共享 Value Object (VO)建立套件 dual.value,放入 Person 類
J2EE 1.3 (EAR)DualEARForAllInOneAll-in-One 拓撲部署佔位符最終包含所有模組
J2EE 1.3 (EAR)DualEARForEJBContainer純 EJB 容器部署 (分離容器架構用)僅含 EJB 模組 + Java 模組
J2EE 1.3 (EAR)DualEARForWeb純 Web 容器部署 (分離容器架構用)僅含 Web 模組 (可由 AllInOne 替代,但建議分離)
EJB 2.0 (JAR)DualEJBModule01實體 Bean 模組 (CMP)關聯 DualEARForEJBContainer,套件 dual.ejb
EJB 2.0 (JAR)DualEJBModule02無狀態會話 Bean 模組關聯 DualEARForEJBContainer,**依賴 DualEJBModule01**
Web (WAR)DualWebModule03Servlet/JSP/HTML 前端進階選項關聯 DualEARForWeb,套件 dual.servlet,不勾選多餘特性

J2EE 視圖專案列表

圖 3:J2EE 視圖中的專案列表

三、 步驟 3:建立專案內容元件

1. DualJavaModule00 - Value Object

  • 建立 dual.value.Person JavaBean (可從下載包複製),實作 Serializable,含 id、firstName、lastName 屬性與 getter/setter。
  • 右鍵專案 → Refresh 同步檔案系統。

2. DualEJBModule01 - 實體 Bean (CMP)

  • 建立 Entity Bean:名稱 DualEntity (圖 4)。
  • 主鍵欄位:id (int)。
  • 持久化欄位:firstName、lastName (String)。
  • 關鍵:勾選 Local Client View 與 Remote Client View (圖 5)。
  • 遠端介面命名:Home = dual.ejb.DualEntityRemoteHome、Remote = dual.ejb.DualEntityRemote (修改預設值)。
  • EJB 綁定名:ejb/dual/ejb/DualEntityHome。

DualEntity EJB

圖 4:DualEntity EJB 定義

CMP 欄位與命名慣例

圖 5:CMP 欄位與命名慣例設定

替代做法:複製下載包原始碼至專案資料夾 → Refresh → 用原始碼為藍本建立 Bean → 再複製 ejb-jar.xml 覆蓋。

3. DualEJBModule02 - 無狀態會話 Bean

  • 建立 Session Bean:名稱 DualSession,類型 Stateless。
  • 同樣勾選 Local/Remote Client View,遠端介面命名:Home = dual.ejb.DualSessionRemoteHome、Remote = dual.ejb.DualSessionRemote。
  • 複製下載包原始碼與 ejb-jar.xml 覆蓋。
  • 此時會出現編譯錯誤 (缺少依賴),下一步解決。

4. DualWebModule03 - Servlet 前端

  • 建立 Servlet:名稱 DualServlet。
  • 複製下載包 DualServlet.java、web.xml、index.html、result.jsp 至專案。
  • 同樣出現編譯錯誤,待依賴配置完成後解決。

四、 步驟 4:確立專案依賴與 EJB-RDB 映射

1. 配置 Java Build Path 依賴

  • DualEJBModule02 → Properties → Java Build Path → Projects → 勾選 DualJavaModule00、DualEJBModule01。同步至 Java JAR Dependencies、Project References。
  • DualWebModule03 → Properties → Java Build Path → 勾選 DualEJBModule02、DualJavaModule00。同時在 Web Library Projects 中同樣勾選這兩個專案 (關鍵,確保 WAR 打包包含依賴 JAR)。

完成後所有編譯錯誤應消失。

2. EJB 到關係資料庫映射 (CMP Mapping)

  • 右鍵 DualEJBModule01 → Generate → EJB to RDB Mapping。
  • 選項配置:
    • 建立新後端資料夾。
    • 映射策略:Meet In The Middle。
    • 資料庫連線:選擇 DB2、輸入 dualDB 連線資訊、接受預設值。
    • 匯入 PERSON 表。
    • 匹配規則:Match By Name and Type。
    • 先選 Bean 欄位,再選表欄位,右鍵 → Match by Type 完成映射 (圖 6)。

EJB-RDB 映射

圖 6:EJB 到 RDB 映射操作

3. 生成部署與 RMIC 代碼

  • 分別對 DualEJBModule01、DualEJBModule02 執行:右鍵 → Generate → Deployment and RMIC Code。

五、 小結

至此,雙介面 EJB 應用的骨架已完整建立:VO 共享模組、實體/會話 Bean 雙模組、Web 前端、EAR 部署單元、資料庫映射與專案依賴鏈路。下一篇將深入剖析 JNDI 綁定配置與核心原始碼邏輯。

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