2013-05-21 156 views
1

我的意思這個問題是可以的人開始嵌入網頁一個.jar應用程序或他們有下載?我做了一個簡單的在線遊戲,現在人們不希望單獨下載遊戲,而是直接通過瀏覽器訪問它。我在桌面上開發了這款遊戲,我應該採取哪些步驟使其成爲Web應用程序,還是可以直接轉換爲Web應用程序?是否可以將常規Java應用程序轉換爲Web應用程序?

+0

這會爲Java小程序的工作。 –

+0

在一些極少數情況下,您可以在不付出太多努力的情況下製作小應用程序,但一般建議是從頭開始構建Web界面並將java留給服務器端。 –

回答

1

你可以用你的類在applet,只需添加一個按鈕,啓動類。 init()方法將被重載以加載類,start()方法是啓動的東西。 Applet是單線程的,所以如果你在一個重載的方法中啓動昂貴的循環,applet可能會卡住。你可以需要線程。

1

有從jar到Web應用程序的直接轉換。 Web服務器不會理解這一點。你需要的是

創建Web應用程序文件夾結構,複製jarweb-inf\lib文件夾

準備web.xml爲您的應用需要

捆綁的Web應用程序文件夾到war文件或部署它爆炸

典型的Web應用程序文件夾如下所示:

webapp 
|-*.html,*.images, *.js, *.css 
|-WEB-INF 
|-WEB-INF/web.xml 
|-WEB-INF/lib/*.jar 
|-WEB-INF/classes/*.class, *.properties 

此方案中的重大變化IMO將在請求Web服務器路由變化,而不是由你的桌面應用程序,即單個JVM所採取的做法,直接呼叫路由到處理程序類的實例。

說一個假設的情況,從GUI保存桌面應用程序可能會將數據序列化到本地磁盤,現在如果是Web應用程序,可能需要將此數據發送到Web服務器(如特定的SaveServlet)在服務器機器而不是客戶機上關心這個邏輯。

如果你提供你的桌面應用程序功能的特定用例中,我們也許能幫助更好。

+1

他也需要重新開發界面。 – Pablo

+0

不一定,您可以將現有的UI(Applet,Swing等)嵌入到HTML頁面中,並且來自您的UI的調用將會轉到一個'Servlet'(這肯定會改變) – harsh

+0

是的,但也許有點過於矯枉過正:) –

2

如果你不希望用戶下載整個應用程序,那麼你必須使用Web技術重新編寫它。

如果您希望您的答案能夠通過他們的瀏覽器啓動應用程序(其中涉及「透明地」下載應用程序),您可以使用applet像@huseyin tugrul buyukisik說,或者您可以使用Java Web Start: http://docs.oracle.com/javase/tutorial/deployment/webstart/

相關問題