一.什么是Spring Web MVC?
? ? ? ? Spring Web MVC是基于ServletAPI構建的原始Web框架,從一開始就包含在Spring框架中.它的正式名稱"Spring Web MVC"來自其源模塊的名稱(Spring-webmvc),但它通常被稱為"Spring MVC".
二.MVC的定義
? ? MVC是Model View Controller的縮寫,它是軟件工程中的一種軟件架構設計模式,它把軟件系統分為模型,視圖和控制三個基本部分.
? ? ? ?
? ? ? ? ? View(視圖):指在應用程序中專門用來與瀏覽器進行交互,展示數據的資源
? ? ? ? ? Model(模型):是應用程序的主體部分,用來處理程序中數據邏輯部分
? ? ? ? ? Controller(控制器):可以理解為一個分發器,用來決定對于視圖發來的請求,需要用哪一個模型來處理,以及處理完后需要跳回到哪一個視圖.即用來連接視圖和模型.
三.什么是Spring MVC?
? ? ?MVC是一種架構設計模式,也是一種思想,而Spring MVC是對MVC思想的具體實現.除此之外,Spring MVC還是一個Web框架.
總結來說,Spring MVC是一個實現了MVC模式的Web框架
四.學習Spring MVC
? ?既然是Web框架,那么當用戶下瀏覽器中輸入url之后,我們的Spring MVC項目就可以感知到用戶的請求,并給予響應.
? 學習Spring MVC,重點也就是學習如何通過瀏覽器和用戶程序進行交互.
主要分以下三個方面:
1.建立連接: 將用戶(瀏覽器)和Java程序連接起來,也就是訪問一個地址能夠調用到我們的Spring程序.
2.請求: 用戶請求的時候會帶一些參數,在程序中要想辦法獲取到參數,所以請求這塊主要是獲取參數的功能
3.響應: 執行了業務邏輯之后,要把程序執行的結果返回給用戶,也就是響應.
1.建立連接
在Spring MVC中使用@RequestMapping來實現URL路由映射,也就是瀏覽器連接程序的作用
創建一個UserController類,實現用戶通過瀏覽器和程序的交互,具體實現代碼如下:
package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserController {//路由器規則注冊@RequestMapping("/sayHi")public String sayHi() {return "hello Spring MVC";}
}
方法名和路徑名稱無需一致
接下來訪問: http://127.0.0.1:8080/sayHi ,就可以返回數據了
(1).@RequestMapping 注解介紹
@RequestMapping是Spring Web MVC應用程序中最常被用到的注解之一,它是用來注冊接口的路由映射的.
表示服務器收到請求時,路徑為/sayHi的請求就會調用sayHi這個方法的代碼.
路由映射: 當用戶訪問一個URL時,將用戶的請求對應到程序中某個類的方法的過程就叫路由映射.
(2).@RequestMapping 使用
@RequestMapping 既可以修飾類,也可以修飾方法,當修飾類和方法時,訪問的地址是類路徑+方法路徑.
@RequestMapping標識一個類: 設置映射請求的請求路徑的初始信息
@RequestMapping標識一個方法: 設置映射請求的請求路徑的具體信息
@RequestMapping("/User") @RestController public class UserController {@RequestMapping("/sayHi")public String sayHi() {return "hello Spring MVC";} }
訪問地址: http://127.0.0.1:8080/User/sayHi
注意: @RequestMapping 的URL路徑最前面加不加/都可以,Spring程序啟動時,會進行判斷,如果前面沒加/,Spring會拼接上一個/