在SpringMVC中,控制器負責處理由DIspatchServlet接收并分發過來的請求,它把用戶請求的資料通過業務處理層封裝成一個Model,然后把該model回傳給對應的View進行展示,
Controller無需繼承特定的類或實作特定的借口,只需使用@Controller(@RestController)來標記一個控制器,然后用注解@RequestMapping定義URL請求和Controller方法之間的映射,這樣Controller就能被
訪問到,并且可以包含多個請求方法,
常用注解
1.@Controller
標記在類上,表示的是SpringMVC的controller物件,分發處理器將會掃描使用了該注解的類,并檢測其中的方法是否使用了RequestMapping
2.@RestController
等價于@Controller+@ResponseBody,直接回傳字串,用來標注Rest風格的控制器類
3.RequestMapping
用來處理請求地址映射的注解,可用在類或方法上,如果用在類上,則表示類中的所有回應請求的方法都以該地址作為父路徑,
該注解有六個屬性:
1.value:指定請求的地址
2.method:指定請求的method型別--GET,POST,PUT,DELETE,PATCH,HEAD等
3.consumes:消費訊息,指定處理請求的提交內容型別
4.produces:生產訊息,指定回傳的內容型別
5.params:指定request中必須包含某些引數值才讓該方法處理請求
6.headers:指定request中必須包含某些指定的header值才能讓該方法處理請求
4.@PathVariable:將請求URL中的模版變數映射到功能處理方法的引數上,即獲取URI中的變數作為引數,
將URL映射到方法
將URl(統一資源定位符)映射到方法,是通過注解@RequestMapping來處理的,URL映射其實就是用控制器定義訪問的URL路徑,用戶通過輸入路徑來訪問某個方法,
SpringBoot還提供了更簡潔的撰寫,@GetMapping,@PostMapping,@DeleteMapping,@PutMapping分別表示處理get請求,post請求,delete請求,put請求,
簡單分析一下GET請求和POST請求的區別!!!
1.GET可以在瀏覽器中回退,而POST訪問同一個地址時也是再次提交請求
2.GET請求會被瀏覽器主動快取,而POST不會
3.GET中的引數會被完整的保存在瀏覽器的歷史記錄里,而POST中的引數不會
4.GET的引數是通過URL傳遞的,而POST中的引數是被放到request body中的
5.GET只能接受ASCII字符,而POST沒有任何限制
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/539023.html
標籤:其他
