如果您在 Web 專案中建立程式碼,且這個 Web 專案的目標是使用 WebSphere® 資料物件 (WDO) 關聯式記錄或關聯式記錄清單的 WebSphere Application Server 5.1 版,當您將這些應用程式的目標鎖定 WebSphere Application Server 6.0 版時,現在,您會使用服務資料物件 (SDO) 關聯式記錄和關聯式記錄清單。當您將應用程式的目標伺服器從 WebSphere Application Server 5.1 版改成 WebSphere Application Server 6.0 版時,WDO 至 SDO 的移轉作業會自動進行。
變更目標伺服器的方式有兩種:
- 您可以利用專案的內容對話框來修改目標伺服器。請在「專案瀏覽器」視圖中,用滑鼠右鍵按一下專案,選取。
- 在利用 J2EE 移轉精靈來進行 J2EE 移轉期間,您可以重設應用程式目標來使用另一個伺服器。
註: 您只能移轉至較高的 J2EE 規格層次。
請參閱
Rational® Application
Developer 的線上說明,以取得變更目標伺服器和使用 J2EE 移轉精靈的說明主題。
相容性考量
- 6.0 版支援任何根據 WDO Access Bean 的公用應用程式程式設計介面 (API) 來撰寫的程式碼(不過,實作類別已改成將目標鎖定 SDO 執行時期)。
- 為了 WebSphere Application Server 6.0 版而產生的新程式碼都不會使用 WDO Access Bean,而會產生純 SDO API 的程式碼。
- 任何針對專案而產生但目標鎖定 6.0 版的程式碼都不會在 5.1 版伺服器中執行,即使將目標重新鎖定伺服器來向後移轉也是如此。
- 為了 5.1 版而撰寫的程式碼可以將目標鎖定 5.1 版伺服器而向前或向後移轉。
從 WDO 移轉至 SDO 之後,可能會發生類型衝突錯誤
在利用 WDO 的專案移轉至 SDO 型的專案之後,如果您將 SDO 資料新增至含現有 WDO 資料的現有 JSP 頁面,就可能發生類型衝突的錯誤。
發生這個情況是因為混合了現有的 WDO Access Bean 和獨立式 SDO API。比方說,您可能會見到類似下列中的 JSP 之 Java™ 程式檔編譯錯誤:
import com.ibm.websphere.sdo.mediator.exception.MediatorException
與另一個匯入的類型衝突
您可以依照下列方式來更正這些類型衝突錯誤:
- 從 Java 程式檔中移除衝突的 import 陳述式。
當使用上述範例時,您會從程式檔中移除下列 import 陳述式:
import com.ibm.websphere.wdo.mediator.exception.MediatorException;
- 修改參照這個類型來使用完整類別名稱的 Java 程式檔。
根據上述範例,MediatorException 類型必須改成 com.ibm.websphere.wdo.mediator.exception.MediatorException。
比方說,撰寫成
catch ( MediatorException e1 ) {
的程式碼必須改成 catch ( com.ibm.websphere.wdo.mediator.exception.MediatorException e1 ) {
將目標伺服器從 5.1 版改成 6.0 版(WDO 至 SDO)之後的 Web 專案變更
當目標伺服器從 5.1 版改成 6.0 版時,會自動進行下列變更:
- 從專案中移除 Java 保存檔 (JAR) wdo_web.jar 和 wdo_jdbc_access.jar。
- 從專案的類別路徑中移除下列 JAR 檔:
- emf-runtime.jar
- emf-event.jar
- wdo-interface.jar
- wdo.jar
- jdbcmediator.jar
- wdo.xmlmediator.jar
- sdo_web.jar 和 sdo_access_beans.jar 檔會新增至專案中(SDO 執行時期 JAR 檔會自動新增至任何 6.0 版專案類別路徑中)。
- 從專案中移除任何 JavaServer Pages 標示庫 (JSTL) 1.0 JAR 檔。(JSTL 1.1/JSP 2.0 JAR 檔會自動新增至任何 6.0 版專案的類別路徑中)。
- 任何 Java 程式檔中的下列 import 陳述式都會改變:
- com.ibm.websphere.wdo.access.connections.ConnectionManager 改成 com.ibm.websphere.sdo.access.connections.ConnectionManager。
- com.ibm.websphere.wdo.mediator.rdb.ConnectionWrapper 改成 com.ibm.websphere.sdo.mediator.jdbc.ConnectionWrapper。
將伺服器目標從 6.0 版改成 5.1 版(SDO 至 WDO)之後的 Web 專案變更
當目標伺服器從 6.0 版改成 5.1 版時,會自動進行下列變更:
- 從專案中移除 JAR 檔 sdo_web.jar 和 sdo_access_beans.jar。
- 將 JAR 檔 wdo_web.jar 和 wdo_jdbc_access.jar 新增至專案中。
- 將下列 JAR 檔新增至專案的類別路徑中:
- emf-runtime.jar
- emf-event.jar
- wdo-interface.jar
- wdo.jar
- jdbcmediator.jar
- wdo.xmlmediator.jar
- 將 JSTL 1.0 JAR 檔新增至專案中。(從專案的類別路徑中移除 JSTL 1.1/JSP 2.0 JAR)。
- 任何 Java 程式檔中的下列 import 陳述式都會改變:
- com.ibm.websphere.sdo.access.connections.ConnectionManager 改成 com.ibm.websphere.wdo.access.connections.ConnectionManager。
- com.ibm.websphere.sdo.mediator.jdbc.ConnectionWrapper 改成 com.ibm.websphere.wdo.mediator.rdb.ConnectionWrapper。
將應用程式的 J2EE 層次從 1.3 改成 1.4 之後的 Web 專案變更
除了將伺服器目標改成 WebSphere Application Server 6.0 版時,從 WDO 移轉至 SDO 所發生的變更之外,將應用程式的 J2EE 規格層次從 1.3 改成 1.4,會將 JavaServer Pages (JSP) 中的任何標示庫 (taglib) 參照從使用 WDO、JSTL 1.0 標示庫改成使用 SDO、JSTL 1.1/jsp 2.0 標示庫。下表顯示從 J2EE 1.3 移至 J2EE 1.4 時,JSP taglib 參照中的變更。
表 1. J2EE 1.3 和 J2EE 1.4 中的 JSP taglib 參照。J2EE 1.3 taglib (WDO) |
J2EE 1.4 taglib (SDO) |
http://www.ibm.com/websphere/wdo/core |
http://www.ibm.com/websphere/sdo/core |
http://java.sun.com/jstl/core |
http://java.sun.com/jsp/jstl/core |
http://java.sun.com/jstl/fmt |
http://java.sun.com/jsp/jstl/fmt |
http://java.sun.com/jstl/xml |
http://java.sun.com/jsp/jstl/xml |
http://java.sun.com/jstl/sql |
http://java.sun.com/jsp/jstl/sql |