熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

將 Java 應用程序遷移到 .NET(2)

2022-06-13   來源: Java核心技術 

  不使用自動遷移功能的技術
  Visual J# NET 和 Java Language Conversion Assistant(Java 語言轉換助手)的目標都是 Java 語言JDK 庫以及 Visual J++ 附帶的 Microsoft 庫有些應用程序還使用 JEEJSE 等新 Java 版本的技術這些應用程序在遷移到 NET 時常常需要進行一些額外修改這些修改通常非常簡單遷移後應用程序的大部分(業務邏輯和 JDK 類)都會得到完美的遷移在遷移後的代碼中不支持的技術將保留不變您必須使用類似的 NET 技術替換未遷移的 Java 技術以完成遷移由於 NET 提供了一套比 Java 更豐富的類因此在進行技術替換時您常常可以進行一些重大改進
  Swing 窗體軟件包的遷移是一個很好的例子
  遷移 Swing
  Java 包含兩個競爭的窗體軟件包Abstract Windowing Toolkit (AWT) 和 SwingJDK 提供 AWTVisual J# NET 支持 AWT可以通過 Java Language Conversion Assistant(Java 語言轉換助手)將 AWT 轉換為 Windows 窗體JDK 可以使用一個附加的 Swing 庫這個庫是 JSE 和 JEE 類庫的一部分Swing 窗體布局不能自動遷移到 NET在遷移過程中代碼中的 JavaxSwing 類保留不變您必須用 Windows 窗體類來替換它為此請在被遷移的應用程序中對各 Swing 窗體執行以下步驟
  向被遷移應用程序中添加一個新的 Windows 窗體
  向窗體中添加控件以獲得與原有 Swing 窗體相同的布局
  將事件邏輯代碼從被遷移的 Swing 窗體復制到新的 Windows 窗體中的事件處理程序
  從應用程序中刪除被遷移的 Swing 窗體
   
  圖 在 Visual Studio 中重畫 Swing 窗體
  Windows 窗體提供了比 AWT 或 Swing 更豐富的環境並且幾乎在所有方面都包含 Java 平台中所能找到的功能的超集例如Windows 窗體使得控制窗體布局更加容易Java 中的布局管理器常常會帶來困難獲得所需的窗體布局需要了解布局管理器並且即使是最基本的布局都需要編寫許多代碼Windows 窗體通過為所有控件提供絕對定位而簡化了窗體管理另外Windows 窗體可以通過靠接和錨定輕易地調整窗體大小靠接規定一個控件應該始終占據屏幕的特定區域錨定將窗體控件的一個或多個角釘住調整窗體大小時使用這些確定控件的位置使用靠接和錨定通常可以徹底消除復雜的窗體大小調整代碼
  將 Swing 窗體遷移到 NET 不僅非常簡單而且還可以利用 NET Framework 更豐富的類改善應用程序
  遷移 Java Server Page
  Java Server Page (JSP) 和 Servlet 都是創建支持 Java 的 Web 頁的技術JSP 提供了與 ASP 相似的腳本嵌入式 HTML 體系結構Servlet 為沒有 HTML 代碼的編譯後 JSP 頁提供了一個機制兩項技術都使用 Java 代碼都為 Web 頁提供基於事件的編程
  JSP 和 Servlet 可以遷移到 ASPNET這麼做有很多好處ASPNET 是一種更加強大的技術它比 JSPPHP(PHP 超文本預處理器)ASP 及其他解釋型腳本嵌入式 HTML 體系結構具有更高的可伸縮性和性能但是在撰寫本文時還沒有將 JSP 遷移到 ASPNET 的自動系統Microsoft 已經宣布在 年下半年推出將 JSP 轉換為 C# ASPNET 的 Java Language Conversion Assistant(Java 語言轉換助手)擴展同時也在考慮今後推出 JSP 到 Visual J# NET ASPNET 的轉換
  演練
  本節演練從 Visual J++ 到 Visual J# NET 的升級和從 Java 到 C# 的轉換兩個演練的目的都是介紹遷移技術顯然兩種遷移都遠遠不止這裡介紹的內容另外可以使用任意一種遷移技術很好地遷移這兩個應用程序示例
  如何將 Visual J++ 項目升級到 Visual J# NET
  本節將一步步演練 Visual J++ 應用程序升級到 Visual J# NET 和 NET 的過程
  要升級的應用程序是 MDIWordPad 項目這是 Visual J++ 附帶的 MSDN 示例可以作為 Visual J++ 產品示例的一部分下載此應用程序的功能與 WordPad 相似它提供打開和編輯多個文本文件的功能它還提供簡單的格式化功能這些功能是通過菜單或工具欄提供的 是 MDIWordpad 應用程序的 Visual J++ 版本
   
  圖 用 J++ 編寫的應用程序 MDIWordPad
  為了得到最佳結果應該使用 Visual J# NET Upgrade Wizard(Visual J# NET 升級向導)將 Visual J++ 項目升級到 Visual J# NET請按以下步驟進行升級
  在 Visual Studio NET 中從菜單中選擇 File(文件)再選擇 Open(打開)然後選擇 Project(項目)
  找到 MDIWordPadvjp 項目文件的位置並單擊 Open(打開)
  Visual Studio NET 檢測到您要打開的文件是 Visual J++ 項目並打開 Visual J# NET Upgrade Wizard(Visual J# NET 升級向導)
  閱讀完介紹文字後單擊下一步進入向導的第二頁此頁面要求提供您正在升級的項目的類型信息MDIWordPad 示例是一個 Windows 應用程序因此默認值是正確的如果您要升級的項目是一個控制台應用程序或類庫您就應該選擇一個選項確認選定了 Windows 應用程序後單擊下一步進入升級向導的下一頁
   
  圖 Visual J# NET Upgrade Wizard(Visual J# NET 升級向導)提示選擇項目目標類型
  對於使用 Active X 控件或其他 COM 引用的應用程序您可以在這一頁上明確添加對這些組件的引用添加這些引用可以幫助升級向導找到項目中使用的附加類型雖然即使您不在這裡指定它們升級向導也可以找到並將這些引用添加到項目中但是現在添加它們可以加快升級速度MDIWordPad 沒有使用任何外部組件因此請單擊 Next(下一步)而不需要做任何改動
  現在升級向導開始評估項目並將項目文件和引用升級到 Visual J# NET會顯示一個狀態條和變化的文本提示向導目前的進度處理結束之後升級向導將自動進入最後一頁
  在向導的最後一頁中您可以使用一個復選框選擇是否查看項目升級報告單擊 Finish(完成)顯示升級報告升級報告列出了有關應用程序及升級進程的信息如果在項目轉換中發現了問題或丟失的引用它們將在這裡列出該報告中還包括有關升級向導向新解決方案中添加的文件的信息
  在 Solution Explorer(解決方案資源管理器)中雙擊文件 MDIWordPadjava 以便在 Code Editor(代碼編輯器)中將其打開通過浏覽該文件您會發現源代碼看起來與原先完全相同事實上將一個項目升級到 Visual J# NET 並不要求任何形式的源代碼修改所要求修改的只是解決方案項目和資源文件源代碼文件本身的內容保持不變
  按 F 運行升級後的應用程序用程序的表現沒有變化您可以通過編輯一些文本來驗證這一點應用程序的操作與升級前完全相同只是它現在是運行在 NET 上
   
  圖 MDIWordPad 的升級版本運行在 Visual Studio NET 上使用 NET
  將應用程序升級到 Visual J# NET 是一個非常簡單的過程升級向導會幫助您提供順利升級所需的信息並且升級後項目的源代碼沒有任何變化通過 Visual J# NET 提供的工具升級到 NET 是一個極其快速和簡單的過程由於二者有相似的語言和類庫因此升級到 Visual J# NET 是將 J++ 項目遷移到 NET 的最快方法
  如何將 Java 項目轉換到 C#
  本節將一步步演練將一個 Visual J++ 應用程序轉換到 C# 和 NET 的過程要轉換的應用程序是一個稱為 Island Book Sales 的簡單的最終用戶購買程序該應用程序演示轉換的各個方面(AWT 到 Windows 窗體JDBC 到 ADONETJava 到 C#)它還演示轉換後需要解決的一些問題Island Book Sales 有兩個窗體第一個窗體向用戶展示可供出售的書的列表所提供的書包含在一個 Access 數據庫中可使用 JDBC 讀取該數據庫用戶可以選擇要購買的物品並將它放入購物車中用戶的購物車顯示在第二個窗體中該窗體使用戶能夠取消或購買購物車中的物品 是運行中的應用程序
  注意您必須將數據庫 bookstoremdb 注冊為 ODBC DSN 才能運行 Bookstore 應用程序
   
  圖 Island Book Sales 應用程序
  以下是將應用程序轉換到 C# 和 NET 所需的步驟
  在 Visual Studio 中的 File(文件)菜單上單擊 Open(打開)然後單擊 Convert(轉換)
  這將啟動 Conversion(轉換)對話框
  選定 Java Language Conversion Assistant(Java 語言轉換助手)圖標後單擊 OK(確定)啟動 Java Language Conversion Assistant(Java 語言轉換助手)
  雖然原應用程序是使用 Visual J++ 編寫的但本例中將它視作一個基於目錄的轉換在向導的第二頁中選擇進行基於目錄的轉換選項然後單擊 Next(下一步)
  在 Java Language Conversion Assistant(Java 語言轉換助手)的第三頁中選擇包含應用程序源代碼的目錄然後單擊 Next(下一步)
  向導的第四頁要求您輸入一些有關應用程序的信息鍵入Bookstore作為項目名其他兩個選項使用默認值然後單擊 Next(下一步)
   
  圖 提供有關您的項目的信息
  現在Java Language Conversion Assistant(Java 語言轉換助手)詢問將轉換後的項目文件寫到哪裡選擇要使用的目錄後單擊 Next(下一步)必要時讓 Java Language Conversion Assistant(Java
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26715.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.