亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 12:12:42
字體:
來源:轉載
供稿:網友

  不使用自動遷移功能的技術
  Visual J# .NET 和 java Language Conversion Assistant(Java 語言轉換助手)的目標都是 Java 語言、JDK 1.1.4 庫以及 Visual J++ 6.0 附帶的 Microsoft 庫。有些應用程序還使用 J2EE、J2SE 等新 Java 版本的技術。這些應用程序在遷移到 .NET 時經常需要進行一些額外修改。這些修改通常非常簡單:遷移后,應用程序的大部分(業務邏輯和 JDK 1.1.4 類)都會得到完美的遷移。在遷移后的代碼中,不支持的技術將保留不變。您必須使用類似的 .NET 技術替換未遷移的 Java 技術以完成遷移。由于 .NET 提供了一套比 Java 更豐富的類,因此在進行技術替換時您經??梢赃M行一些重大改進。
  Swing 窗體軟件包的遷移是一個很好的例子。
  遷移 Swing
  Java 包含兩個競爭的窗體軟件包:Abstract Windowing Toolkit (AWT) 和 Swing。JDK 1.1.4 提供 AWT。Visual J# .NET 支持 AWT,可以通過 Java Language Conversion Assistant(Java 語言轉換助手)將 AWT 轉換為 Windows 窗體。JDK 1.1.4 可以使用一個附加的 Swing 庫,這個庫是 J2SE 和 J2EE 類庫的一部分。Swing 窗體布局不能自動遷移到 .NET。在遷移過程中,代碼中的 Javax.Swing 類保留不變,您必須用 Windows 窗體類來替換它。為此,請在被遷移的應用程序中對各 Swing 窗體執行以下步驟:
  向被遷移應用程序中添加一個新的 Windows 窗體
  向窗體中添加控件以獲得與原有 Swing 窗體相同的布局
  將事件邏輯代碼從被遷移的 Swing 窗體復制到新的 Windows 窗體中的事件處理程序
  從應用程序中刪除被遷移的 Swing 窗體
   將 Java 應用程序遷移到 .NET(2)(圖一)
  圖 2:在 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 可以遷移到 asp.net,這么做有很多好處:ASP.NET 是一種更加強大的技術,它比 JSP、php(PHP 超文本預處理器)、ASP 及其他解釋型腳本嵌入式 HTML 體系結構具有更高的可伸縮性和性能。但是,在撰寫本文時還沒有將 JSP 遷移到 ASP.NET 的自動系統。Microsoft 已經公布在 2002 年下半年推出將 JSP 轉換為 C# ASP.NET 的 Java Language Conversion Assistant(Java 語言轉換助手)擴展。同時也在考慮今后推出 JSP 到 Visual J# .NET ASP.NET 的轉換。
  演練
  本節演練從 Visual J++ 6.0 到 Visual J# .NET 的升級和從 Java 到 C# 的轉換。兩個演練的目的都是介紹遷移技術。顯然,兩種遷移都遠遠不止這里介紹的內容。另外,可以使用任意一種遷移技術很好地遷移這兩個應用程序示例。
  如何將 Visual J++ 6.0 項目升級到 Visual J# .NET
  本節將一步步演練 Visual J++ 6.0 應用程序升級到 Visual J# .NET 和 .NET 的過程。
  要升級的應用程序是 MDIWordPad 項目。這是 Visual J++ 6.0 附帶的 MSDN 示例,可以作為 Visual J++ 6.0 產品示例的一部分下載。此應用程序的功能與 WordPad 相似。它提供打開和編輯多個文本文件的功能。它還提供簡單的格式化功能。這些功能是通過菜單或工具欄提供的。圖 3 是 MDIWordpad 應用程序的 Visual J++ 版本。
   將 Java 應用程序遷移到 .NET(2)(圖二)
  圖 3:用 J++ 編寫的應用程序 MDIWordPad
  為了得到最佳結果,應該使用 Visual J# .NET Upgrade Wizard(Visual J# .NET 升級向導)將 Visual J++ 6.0 項目升級到 Visual J# .NET。請按以下步驟進行升級:
  在 Visual Studio .NET 中,從菜單中選擇 File(文件),再選擇 Open(打開),然后選擇 PRoject(項目)。
  找到 MDIWordPad.vjp 項目文件的位置并單擊 Open(打開)。
  Visual Studio .NET 檢測到您要打開的文件是 Visual J++ 6.0 項目并打開 Visual J# .NET Upgrade Wizard(Visual J# .NET 升級向導)。
  閱讀完介紹文字后,單擊下一步進入向導的第二頁。此頁面要求提供您正在升級的項目的類型信息。MDIWordPad 示例是一個 Windows 應用程序,因此默認值是正確的。假如您要升級的項目是一個控制臺應用程序或類庫,您就應該選擇一個選項。確認選定了 Windows 應用程序后,單擊下一步進入升級向導的下一頁。
   將 Java 應用程序遷移到 .NET(2)(圖三)
  圖 4:Visual J# .NET Upgrade Wizard(Visual J# .NET 升級向導)提示選擇項目目標類型
  對于使用 Active X 控件或其他 COM 引用的應用程序,您可以在這一頁上明確添加對這些組件的引用。添加這些引用可以幫助升級向導找到項目中使用的附加類型。雖然即使您不在這里指定它們,升級向導也可以找到并將這些引用添加到項目中,但是現在添加它們可以加快升級速度。MDIWordPad 沒有使用任何外部組件,因此請單擊 Next(下一步)而不需要做任何改動。
  現在,升級向導開始評估項目并將項目文件和引用升級到 Visual J# .NET。會顯示一個狀態條和變化的文本,提示向導目前的進度。處理結束之后,升級向導將自動進入最后一頁。
  在向導的最后一頁中,您可以使用一個復選框選擇是否查看項目升級報告。單擊 Finish(完成)顯示升級報告。升級報告列出了有關應用程序及升級進程的信息。假如在項目轉換中發現了問題或丟失的引用,它們將在這里列出。該報告中還包括有關升級向導向新解決方案中添加的文件的信息。
  在 Solution EXPlorer(解決方案資源治理器)中雙擊文件 MDIWordPad.java 以便在 Code Editor(代碼編輯器)中將其打開。通過瀏覽該文件,您會發現源代碼看起來與原先完全相同。事實上,將一個項目升級到 Visual J# .NET 并不要求任何形式的源代碼修改,所要求修改的只是解決方案、項目和資源文件。源代碼文件本身的內容保持不變。
  按 F5 運行升級后的應用程序。用程序的表現沒有變化,您可以通過編輯一些文本來驗證這一點。應用程序的操作與升級前完全相同,只是它現在是運行在 .NET 上。
   將 Java 應用程序遷移到 .NET(2)(圖四)
  圖 5:MDIWordPad 的升級版本,運行在 Visual Studio .NET 上,使用 .NET
  將應用程序升級到 Visual J# .NET 是一個非常簡單的過程。升級向導會幫助您提供順利升級所需的信息,并且升級后項目的源代碼沒有任何變化。通過 Visual J# .NET 提供的工具升級到 .NET 是一個極其快速和簡單的過程。由于二者有相似的語言和類庫,因此升級到 Visual J# .NET 是將 J++ 項目遷移到 .NET 的最快方法。
  如何將 Java 項目轉換到 C#
  本節將一步步演練將一個 Visual J++ 6.0 應用程序轉換到 C# 和 .NET 的過程。要轉換的應用程序是一個稱為 Island Book Sales 的簡單的最終用戶購買程序。該應用程序演示轉換的各個方面(AWT 到 Windows 窗體、JDBC 到 ADO.NET、Java 到 C#)。它還演示轉換后需要解決的一些問題。Island Book Sales 有兩個窗體。第一個窗體向用戶展示可供出售的書的列表。所提供的書包含在一個 access 數據庫中,可使用 JDBC 讀取該數據庫。用戶可以選擇要購買的物品并將它放入購物車中。用戶的購物車顯示在第二個窗體中。該窗體使用戶能夠取消或購買購物車中的物品。圖 6 是運行中的應用程序。
  注重:您必須將數據庫 bookstore.mdb 注冊為 ODBC DSN 才能運行 Bookstore 應用程序。
   將 Java 應用程序遷移到 .NET(2)(圖五)
  圖 6: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 應用程序遷移到 .NET(2)(圖六)
  圖 7:提供有關您的項目的信息
  現在,Java Language Conversion Assistant(Java 語言轉換助手)詢問將轉換后的項目文件寫到哪里。選擇要使用的目錄后單擊 Next(下一步),必要時讓 Java Language Conversion Assistant(Java

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩电影中文字幕在线观看| 久久夜色精品国产亚洲aⅴ| 亚洲色图50p| 成人www视频在线观看| 亚洲视频一区二区| 92看片淫黄大片看国产片| 日韩中文字幕精品视频| 一区二区三区高清国产| 136fldh精品导航福利| 亚洲福利小视频| 日韩欧美视频一区二区三区| 亚洲欧美一区二区三区四区| 国产一区二区三区精品久久久| 日韩中文字幕在线看| 亚洲欧洲在线视频| 欧美性猛交xxxx| 欧美精品成人91久久久久久久| 视频一区视频二区国产精品| 国产精品情侣自拍| 国产精品美女免费| 久久精品2019中文字幕| 国产精品色婷婷视频| 久热在线中文字幕色999舞| 成人黄色片网站| 精品国产老师黑色丝袜高跟鞋| 欧美日韩激情美女| 亚洲高清久久久久久| 777精品视频| 亚洲欧美日韩爽爽影院| 成人免费视频网址| 日韩欧美在线视频日韩欧美在线视频| 欧洲精品在线视频| 在线电影欧美日韩一区二区私密| 欧美国产日韩一区| 日韩av在线高清| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品成人一区二区三区吃奶| 在线看日韩欧美| 欧美日韩激情小视频| 色综合91久久精品中文字幕| 欧美日韩国产二区| 国产午夜精品一区理论片飘花| 色噜噜国产精品视频一区二区| 日韩中文字幕免费视频| 午夜精品一区二区三区在线| 精品中文字幕在线2019| 精品久久久久久久久中文字幕| 日韩亚洲一区二区| 国产精自产拍久久久久久| 91在线无精精品一区二区| 国产精品国产亚洲伊人久久| 97在线观看视频| 成人在线激情视频| 欧美成人性生活| 中文字幕欧美精品在线| 亚洲bt欧美bt日本bt| 中文字幕亚洲精品| 日本精品久久电影| 欧美日韩中文字幕日韩欧美| 午夜精品久久久久久久久久久久久| 亚洲一区二区三区视频| 国产va免费精品高清在线| 国产精品美女999| 国产精品久在线观看| 亚洲最大福利视频| 一本一本久久a久久精品牛牛影视| 亚洲性猛交xxxxwww| 欧美日韩中文在线观看| 日韩精品黄色网| 亚洲自拍欧美另类| 欧美一级黄色网| 亚洲va欧美va在线观看| 日本不卡高字幕在线2019| 琪琪亚洲精品午夜在线| 欧美精品videossex88| 国产成人精品电影久久久| 国产精品免费看久久久香蕉| 欧美尺度大的性做爰视频| 最近2019中文字幕在线高清| 欧美性高潮床叫视频| 欧美成人精品三级在线观看| 98精品国产高清在线xxxx天堂| 秋霞av国产精品一区| 日韩精品免费综合视频在线播放| 亚洲第一男人天堂| 91精品国产91久久久久久久久| 国产剧情久久久久久| 亚洲天堂男人的天堂| 一区二区三区美女xx视频| 久久国产精品偷| 中文字幕久热精品在线视频| 97av在线视频免费播放| 91日韩在线播放| 国产精品男人的天堂| 久久亚洲精品国产亚洲老地址| 久久久精品日本| 欧美成人网在线| 在线观看欧美成人| 亚洲精品一区在线观看香蕉| 日韩亚洲欧美中文高清在线| 日韩电影中文字幕一区| 91高潮精品免费porn| 欧美性高潮床叫视频| 中文字幕日韩在线视频| 欧美美女15p| 国内精品小视频在线观看| 91中文字幕一区| 亚洲欧洲高清在线| 亚洲乱亚洲乱妇无码| 91精品国产电影| 欧美色xxxx| 伊人久久综合97精品| 中文字幕亚洲精品| 国产视频精品免费播放| 久久精品一偷一偷国产| 国产91色在线免费| 欧美一级视频免费在线观看| 亚洲国产欧美日韩精品| 国内揄拍国内精品少妇国语| 精品国产老师黑色丝袜高跟鞋| 川上优av一区二区线观看| 最近的2019中文字幕免费一页| 色婷婷综合久久久久| 法国裸体一区二区| 国产亚洲欧美日韩美女| 亚洲成人国产精品| 成人在线视频网站| 国产成人精品在线观看| 中文字幕日韩在线播放| 亚洲美女喷白浆| 欧美日韩精品在线观看| 亚洲欧美日韩精品久久| 欧美日韩国产丝袜美女| 亚洲日本成人女熟在线观看| 精品视频—区二区三区免费| 成人免费黄色网| 亚洲欧美激情精品一区二区| 日本伊人精品一区二区三区介绍| 中文综合在线观看| 国产综合在线视频| 中文字幕自拍vr一区二区三区| 在线精品视频视频中文字幕| 亚洲成人三级在线| 国产精品久久久久久久av大片| 91精品久久久久久久久久| 亚洲最新av在线| 国产成人啪精品视频免费网| 欧美综合国产精品久久丁香| 欧美视频在线观看 亚洲欧| 国产精品久久久久久久久久99| 日韩精品中文字幕在线观看| 96pao国产成视频永久免费| 欧美插天视频在线播放| 国产精品美女久久| 成人激情综合网| 日韩国产精品视频| 亚洲自拍偷拍色图| 日本欧美一级片| 国产亚洲精品美女久久久| 国产婷婷色综合av蜜臀av| 国产欧美亚洲视频| 北条麻妃久久精品| 欧美激情久久久| 欧美日韩在线影院|