目錄
1.什么是Spring MVC?
2. MVC 和 Spring MVC 的關(guān)系
3.Spring MVC 項(xiàng)目創(chuàng)建
4. @RequestMappring實(shí)現(xiàn)用戶和程序的映射
4.1 @RequestMappring 注解解釋
4.2 方法1: @RequestMapping(“/xxx”)
4.4 @RequestMapping(method = xxxx, value = “xxx”) 是POST/GET請(qǐng)求
4.5 方法2:@PostMapping(“/xxx”)
4.6 方法3:@GetMapping(“/xxx”)
4.7 經(jīng)典面試題Get方法和Post方法的區(qū)別
1.什么是Spring MVC?
官方對(duì)于 Spring MVC 的解釋是:
Spring Web MVC是基于Servlet API構(gòu)建的原始Web框架,從一開(kāi)始就包含在Spring框架中。的正式名稱“Spring Web MVC”來(lái)自其源模塊的名稱(Spring-webmvc),但它通常被稱為“SpringMVC”。
從上述解釋我們可以知道Spring MVC兩個(gè)基本信息:
- 構(gòu)架在 Servlet (API) 之上的
- 是一個(gè) Web框架(Http)
- 來(lái)自于 Spring webMVC 模塊
這就意味著:
1.servlet那套寫(xiě)法再M(fèi)VC中是適配的
2.意味著具備http能力,意味著可以拿它去做接口,做網(wǎng)站
2. MVC 和 Spring MVC 的關(guān)系
MVC 是 Model View Controller 的縮寫(xiě),它是軟件工程中的一種軟件架構(gòu)模塊,他把軟件系統(tǒng)分為了? 模型,視圖,控制器 三個(gè)基本部分
- Model(模型)是一個(gè)數(shù)據(jù)模型,適用于和數(shù)據(jù)庫(kù)打交道的數(shù)據(jù)持久層,通過(guò)它可以訪問(wèn)所有的數(shù)據(jù)庫(kù)
- View(視圖)通常是用來(lái)展現(xiàn)信息的,給用戶看的東西
- Controller(控制器)來(lái)處理用戶交互的
MVC是一種思想,而 Spring MVC 是一個(gè)具體實(shí)現(xiàn)的框架
總的來(lái)說(shuō):Spring MVC 是一個(gè)實(shí)現(xiàn)了 MVC 模式,并繼承了 Servlet API 的框架
?
3.Spring MVC 項(xiàng)目創(chuàng)建
現(xiàn)在主流的創(chuàng)建方式為:使用 Spring Boot 添加 Spring Web 模塊 = Spring MVC
4. @RequestMappring實(shí)現(xiàn)用戶和程序的映射
4.1 @RequestMappring 注解解釋
@RequestMapping 是 Spring Web應(yīng)用程序中最常被用到的注解之一,它是用來(lái)注冊(cè)接口的路由映射的。
路由映射:所謂的路由映射指的是,當(dāng)用戶訪問(wèn)一個(gè)url時(shí),將用戶的請(qǐng)求對(duì)應(yīng)到程序中某個(gè)類的某個(gè)方法的過(guò)程就叫路由映射。
4.2 方法1: @RequestMapping(“/xxx”)
@RequestMapping 可修飾類, 也可以修飾方法. 當(dāng)修飾類和方法時(shí), 訪問(wèn)的地址是 類 + 方法
接下來(lái),創(chuàng)建?個(gè) UserController 類,實(shí)現(xiàn)?戶到 Spring 程序的互聯(lián)互通,具體實(shí)現(xiàn)代碼如下:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller // 讓 spring 框架啟動(dòng)時(shí),加載
@ResponseBody // 返回???數(shù)據(jù)
@RequestMapping("/user") // 路由器規(guī)則注冊(cè)
public class UserController {
// 路由器規(guī)則注冊(cè)
@RequestMapping("/hi")
public String sayHi(){
return "<h1>Hi,Spring MVC.</h1>";
}
}
這樣實(shí)現(xiàn)之后,當(dāng)訪問(wèn)地址:http://localhost:8080/user/hi 時(shí)就能打印“hello,spring mvc”的信息
了
?
4.4 @RequestMapping(method = xxxx, value = “xxx”) 是POST/GET請(qǐng)求
使用PostMan可以測(cè)試得到,默認(rèn)情況下使用注解@RequestMapping是可以接收GET和POST 請(qǐng)求的
@RequestMapping(method = xxxx, value = “xxx”)是可以指定POST還是GET請(qǐng)求的
@Controller
@ResponseBody // 定義返回的數(shù)據(jù)格式為???
public class UserController {
@RequestMapping(value = "/hi",method= RequestMethod.POST)
public String sayHi(){
return "<h1>Hi,Spring MVC.</h1>";
}
}
4.5 方法2:@PostMapping(“/xxx”)
直接指定為POST請(qǐng)求
@Controller
@ResponseBody // 作用: 表示的是返回一個(gè)非靜態(tài)頁(yè)面的數(shù)據(jù)
@RequestMapping("/user") // 類上的 RequestMapping 可以省略
public class UserController {
@PostMapping("/sayhi3")
public String sayHi3() {
return "Hello";
}
}
4.6 方法3:@GetMapping(“/xxx”)
直接指定為GET請(qǐng)求
@Controller
@ResponseBody // 作用: 表示的是返回一個(gè)非靜態(tài)頁(yè)面的數(shù)據(jù)
@RequestMapping("/user") // 類上的 RequestMapping 可以省略
public class UserController {
@GetMapping("/sayhi4")
public String sayHi4() {
return "Hello";
}
}
4.7 經(jīng)典面試題Get方法和Post方法的區(qū)別
這里給大家推薦一篇大佬寫(xiě)的:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-604900.html
面試突擊71:GET 和 POST 有什么區(qū)別? - 掘金文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-604900.html
到了這里,關(guān)于Spring MVC-基礎(chǔ)概念(定義+創(chuàng)建和連接+@RequestMappring的描述)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!