目錄
1. Spring MVC程序編寫流程
2. 建立連接
2.1 @RequestMapping注解介紹
2.2 @RequestMapping注解使用
2.2.1 僅修飾方法
2.2.2 修飾類與方法
2.3 關于POST請求與GET請求
2.3.1 GET請求
2.3.2 POST請求
2.3.3 限制請求方法
1. Spring MVC程序編寫流程
1. 建立連接(客戶端和服務器);
2.(瀏覽器)客戶端向服務器發送請求;
3. 服務器向客戶端(瀏覽器)返回響應;
2. 建立連接
在Spring MVC中,使用@RequestMapping實現URL路由映射,完成瀏覽器對程序的連接;
2.1 @RequestMapping注解介紹
1. @RequestMapping是Spring Web MVC應用程序中最常被使用的注解之一,
用于注冊接口的路由映射,
表示服務器接收到請求時,路徑為/sayHi的請求就會調用sayHi這個方法的代碼;
2. 路由映射:
當用戶訪問一個URL時,將用戶的請求對應到程序中某個類的某個方法的過程就叫路由映射;
2.2 @RequestMapping注解使用
@RequestMapping注解既可以修飾類,也可以修飾方法;
2.2.1 僅修飾方法
當前類沒有@RequestMapping修飾,故而URL只需方法路徑:
@RequestMapping功能如下:
2.2.2 修飾類與方法
訪問地址為:類的路徑+方法路徑;
現將.java文件修改為:
package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Hi")
@RestController
public class HelloController {@RequestMapping("/sayHi")public String sayHi(){return "Hi, SpringBoot";}@RequestMapping("/sayHello")public String sayHello(){return "Hello ,SpringBoot";}
}
重新啟動服務器,此時要填寫的URL為:
注:對于注解,可以不以 / 開頭,但在開發過程中建議采用標準寫法,以 / 開頭;
2.3 關于POST請求與GET請求
2.3.1 GET請求
?使用瀏覽器訪問:
使用Fiddler抓包,查看請求詳情:
可見@RequestMapping支持GET請求;
2.3.2 POST請求
使用postman構造一個POST請求并發送:
得到的響應為:
可見@RequestMapping也支持POST請求;
綜上:@RequestMapping既支持GET請求,也支持POST請求;
注:并且,@RequestMapping是支持所有的方法,包括PUT,DELETE等等,
關于HTTP請求方法,可以查看本專欄HTTP請求首行一文,鏈接如下:
【JavaEE】_HTTP請求首行-CSDN博客https://blog.csdn.net/m0_63299495/article/details/136115813
2.3.3 限制請求方法
如果服務器需要限制客戶端發送的請求的方法,也可以使用@RequestMapping注解method屬性進行限制;
現假設限定客戶端請求必須使用GET請求:
.java文件內容如下:
package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Hi")
@RestController
public class HelloController {@RequestMapping(value = "/sayHi",method = RequestMethod.GET)public String sayHi(){return "Hi, SpringBoot";}@RequestMapping("/sayHello")public String sayHello(){return "Hello ,SpringBoot";}
}
構造一個POST請求并發送:?
得到的響應為:
狀態碼為405,表示方法不允許;
關于響應狀態碼,可以查看本專欄HTTP響應一文,鏈接如下:
【JavaEE】_HTTP響應-CSDN博客https://blog.csdn.net/m0_63299495/article/details/136141244注:對于@RequestMapping注解,如果沒有寫屬性名時,默認屬性為value/path,即路徑;
如果有多個屬性,則需加上屬性名;
后續將介紹Spring MVC項目關于請求與響應。