簡體   English   中英

如何在Java中將桌面應用程序轉換為Web應用程序

[英]how to make my desktop application to web app application in java

我現在使用Java中的Swing設計了一個GUI連接數據庫按鈕,現在我想使其成為webapp應用程序,我需要將其托管在我的網站上。 我是否需要替換所有代碼,因為swing僅適用於桌面應用程序。 還是還有其他方法?

這部分取決於您對應用程序的組織程度。 如果不涉及分層,例如,如果GUI類直接連接到數據庫,則可以,您需要重寫整個內容。

但是,如果您已經有一個單獨的數據訪問層,業務邏輯層和表示層,那么您可能只需要完全重寫表示層即可-同時檢查其他層的並發安全性。

Web應用程序的無狀態性質-除了基於會話的狀態外-當然,這可能意味着您需要重新設計應用程序。 反過來,這可能意味着您現有的“后端”層不太合適。 盡管理論上說它們將是表示層中立的,但以我的經驗來看,編寫針對單個UI技術的應用程序而不會使某些使用假設泄漏到底層會是非常不尋常的。

看看AjaxSwing 它是Java Swing應用程序的Web部署平台。 它允許構建Java桌面應用程序的公司將其作為Web應用程序運行。 因為它產生純HTML / JavaScript,所以您還可以在iPhone,iPad和Android手機上運行Swing應用程序。

如果我正確獲取它,則需要重用數據庫連接代碼。 在這種情況下:

您只需要刪除引用Swing組件的代碼即可。 J開頭的那些。 更准確地說-軟件包javax.swingjava.awt中的軟件包。 其余代碼可以保留。

但是,如果您的數據庫連接性代碼與GUI代碼過於耦合,則最好從頭開始,而只需復制粘貼Swings應用程序中的各個部分即可。

如果您有一個大型的Swing應用程序,那么您可能想使用自動轉換器到Web(ajax)應用程序。

一種這樣的解決方案是AjaxSwing 也可能存在其他人。

檢查GWT,它是一個非常好的框架,可讓您使用Java編寫代碼。

是的,您需要用Web應用程序(jsps,控制器等)替換所有GUI層。 如果將業務層與GUI層分開,應該相對容易一些。 我建議您看一下Spring Framework,它對於開發Web應用程序非常有用。

如果您希望在Web上使用類似Swing的應用程序,則可以使用Applet

您可以將swing應用程序轉換為applet,然后在客戶端計算機上安裝JRE的情況下,它將在Web瀏覽器中運行。

可以重用的內容取決於您的體系結構。 看一下Wicket ,它提供了與Swing非常相似的編程模型。 那將避免避免重寫GUI,但是使“心理映射”變得容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM