Day 13 - Spring MVC 簡介

古古

2024/07/13


哈囉大家好,我是古古。

在前面的文章中,我們介紹了 Spring 框架中最重要的兩個特性:IoC 和 AOP,所以到目前為止,大家對於 Spring Boot 的基本用法,就不會那麼陌生了。

那麼從這篇文章開始,就會進入到下一個部分,也就是 Spring MVC 的介紹,Spring MVC 可以說是在 Spring Boot 中使用最頻繁的功能之一,所以我們就開始吧!

回顧:前端和後端的差別 #

在我們正式介紹 Spring MVC 之前,我們可以先來回顧一下「前端」和「後端」之間的差別。

在現今的網站架構中,可以分成「前端」和「後端」兩部分:

在現今的網站架構中,可以分成「前端」和「後端」兩部分:

  • 前端:負責網頁的排版設計。 所以像是網頁中要使用什麼顏色的按鈕、按鈕要放在哪裡、標題大小要多大…等等,這些都是屬於前端的範疇。
  • 後端:負責數據處理。 所以像是商品的價格是多少、每一筆評價的留言內容是什麼…等等,這些有關數據內容的,都是屬於後端的範疇。

所以簡單來說,前端工程師就是去負責實作「這個網頁要長什麼樣子」,而後端工程師則是負責去處理「要在這個網頁上賣什麼東西」,所以前端工程師處理的是排版設計,而後端工程師處理的則是動態的數據。

不過我們平常所瀏覽的網頁,其實是前端和後端整合在一起的結果,所以前端除了設計網頁的排版之外,同時也需要去問後端:「這裡應該要顯示哪些商品?」,而後端在收到詢問之後,就會提供商品的數據給前端,告訴前端「這裡要呈現的商品數據是什麼」。

因此當前端拿到這些商品數據之後,前端就會將商品數據、以及網頁的排版設計結合在一起,最後再將結果呈現給使用者看。

所以我們平常所瀏覽的網頁,就是由 「前端的排版」 加上 「後端的數據」,所組合出來的成果。

而在這之中,要怎麼樣讓前端和後端之間能夠順暢溝通、傳遞商品的數據,就是 Spring MVC 所負責的範圍了。所以 Spring MVC 所負責的,就是解決「前端和後端之間的溝通問題」。

所以換句話說的話,在接下來的 Spring MVC 的部分中,我們所介紹的所有內容,就都是在講「要如何和前端進行溝通」。

什麼是 Spring MVC? #

大概了解了 Spring MVC 功能的用途之後,接著我們可以回頭來看一下 Spring MVC 的定義。

Spring MVC 的用途,就是「讓我們能夠在 Spring Boot 中,實作前後端之間的溝通」,這樣我們就可以透過 Spring MVC 的功能,在 Spring Boot 中創建一個 API 出來、或是去接住前端所傳過來的參數了!

補充:原來我們已經用過 Spring MVC 了? #

其實在前面的文章中,我們就已經有使用到 Spring MVC 的功能了!

Day4 - 第一個 Spring Boot 程式 的那篇文章中,我們在 Spring Boot 程式裡面,有去創建了一個 MyController 出來。當時是告訴大家,只要我們運行起 Spring Boot 程式,然後在瀏覽器中輸入 http://localhost:8080/test 時,這樣 Spring Boot 就會去執行 MyController 中的 test() 方法。

因此我們在前面的文章中,就一直借用了這個方式,去練習前面的 IoC 和 AOP 的部分。

而我們之所以在瀏覽器中輸入 http://localhost:8080/test ,Spring Boot 就會去執行 MyController 中的 test() 方法,就是因為我們有在 MyController 中添加了 @RestController@RequestMapping 這兩個註解,因此才能夠達到這個效果。

而這兩個註解 @RestController@RequestMapping,其實就是 Spring MVC 所提供的好用註解!

所以在後面的文章中,我們就會來介紹 Spring MVC 中的好用功能,也會來介紹 @RestController@RequestMapping 這些註解,他們分別的用途又是什麼。

所以接下來的幾篇文章,就讓我們一起來探索 Spring MVC 的厲害之處吧!

總結 #

這篇文章我們先回顧了前端和後端之間的區別,並且也介紹了 Spring MVC 的用途是什麼,先讓大家對 Spring MVC 有一個簡單的認識。

不過在我們正式進入 Spring MVC 的介紹之前,會需要大家先了解什麼是「前端和後端之間的溝通協議」,因此下一篇文章,我們就會先來介紹前後端溝通最基礎的部分,也就是 Http 協議,那我們就下一篇文章見啦!

補充:本文是擷取自我開設的線上課程 「Java 工程師必備!Spring Boot 零基礎入門」 的內容,如果你想了解更多的 Spring Boot 的用法,歡迎參考課程簡介 (輸入折扣碼「HH202504KU」即可享 85 折優惠)。