2015-09-06 58 views
2

查看示例Spring Web MVC應用程序PetClinic https://github.com/spring-projects/spring-petclinic在Spring Web MVC應用程序中 - 我們如何將體系結構分解爲前端和後端?

應用通常分成3個不同的物理層和服務器側內它被分成不同的層:

客戶端:(的JavaScript/CSS等...)

服務器端: - 網絡 - 服務 - 庫

數據庫:

使用上述應用程序,什麼是前端和後端的例子嗎?

我始終認爲服務器端(Web控制器/服務/存儲庫)+數據庫中的一切都構成了後端。但我的一位同事認爲只有數據庫纔是「後端」。

我的另一位同事說只有'Service & Repository'圖層構成後端,他認爲web層(由JSP/Thymeleaf模板,表單支持對象,控制器組成)被認爲是'前端'

回答

2
  • 在SpringMVC應用程序中,前端是意見jsp寵物診所應用程序用於生成html從服務器提供給客戶端的文件。這些文件允許用戶模型的數據查看
  • 在Web應用程序中,後端肯定不只是數據庫。控制器也是後端的一部分。在SpringMVC應用程序中,這些類是用@Controller註解的類。
  • 關於文件寵物診所應用程序,你可能會認爲在src/main/webapp作爲前端和其他一切後端的一切。其他人可能會不同意。
  • 請注意,使用SpringMVC構建的服務器應用程序也可能用於公開REST API,例如接收和傳輸JSON文檔到移動應用程序。這個應用程序可以用自己的前端和後端實現MVC模式本身。
+0

我認爲考慮一切在webapp文件夾作爲前端肯定是一個好主意。 JSP用於生成視圖,但顧名思義,它們幾乎是後端技術,因爲服務器端是後端正確的。此外,JSPs位於webapp文件夾下。你對此有何看法? – SoftwareDeveloper

+1

我傾向於將任何MVC框架的V部分視爲前端,並且在包含html,css,js和jsp的SpringMVC應用程序中。我完全知道這是有爭議的。另外,我自己是後端開發人員,前端開發人員可能有不同的觀點。請注意,應用程序可以有多個圖層,每個圖層都有自己的前端和後端。有人可能會爭辯說,移動應用程序在手機上都有前端和後端,並且還與服務器進行通信。 –

+1

在wikipedia中的[本頁](https://en.wikipedia.org/wiki/Front_and_back_ends):*「前端和後端可能分佈在一個或多個系統中」* –

0

簡而言之 我會說任何你想顯示給用戶而不考慮技術將進入查看(像HTML表單或任何信息豐富的HTML頁面)。 關於後端,我會說你想要一些數據顯示在前端(在SpringMVC中查看),所以你會做任何預處理,其中包括通過Web服務從所有其他系統獲取數據和所有,它會在後端部分。在相同的情況下如果你從DB獲取數據,你也可以說它的後端。

相關問題