2017-08-01 49 views
1

我有一個Java獨立的應用程序與以下幾件事:如果我想寫一個servlet,是否必須重寫所有的Java服務器?

  • 一個數據庫。
  • 訪問數據庫並接受客戶端請求的服務器。
  • 用MVC模式編程的客戶端,它通過服務器更新數據庫。

現在我想做一個網頁,客戶端可以從中更新數據庫。我知道我有兩個選項:java web服務和servlet。我更喜歡使用servlet,因爲java web服務需要安裝軟件,並且會阻止某些使用該應用程序的設備。

我的問題是:我必須重寫我的服務器的大部分代碼來實現servlet,或者它只是添加和更改我的服務器代碼的一些東西?

+0

這完全取決於你在第一次寫它時的結構。希望如果你聰明,那就不要。 – Michael

+0

你可以嘗試springboot而不僅僅是一個servlet。 – StanislavL

回答

0

您已有一個服務器組件正在處理來自客戶端的請求。你只需要用一個HTTP服務器來擴展它,它將接受和處理來自HTTP客戶端的請求。

您可能會想要在容器中運行,如Tomcat。如果你走這條路線,你需要實現一個ServletContextListener來在啓動/關閉時初始化/清除你現有的應用程序。

然後,您將使用容器(例如Tomcat)啓動整個服務器(現有和新的Web端點)。您可能希望將網絡內容打到一個端口(例如,80或443),併爲您的現有客戶端連接創建一些其他端口。

對於您希望通過HTTP提供的每個現有請求處理程序,您都需要重構代碼,以便所有數據驗證和業務邏輯均通過單一方法實現(您可能已經編寫了它這種方式開始)。然後添加一個Web服務來處理HTTP請求,並讓它調用與現有服務器實現調用相同的方法。

您可能想要考慮使用其中的許多Web服務框架之一(例如Jersey)。

相關問題