springMVC返回Http響應的實現(xiàn)
一、返回頁面
步驟如下:
我們先要在static目錄下創(chuàng)建我們的HTML文件。
HTML源碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Index</title> </head> <body> Hello,Spring MVC,我是Index??. </body> </html>
- 在源碼的類注解前面要使用@Controller注解,返回的頁面名要與創(chuàng)建的文件名一致,并且加上后綴,且必須加上反斜杠 /
源碼:
@RequestMapping("/response") @Controller public class ResponseController { @RequestMapping("/r1") public String r1() { return "/index.html"; } }
瀏覽器訪問結(jié)果:
二、@Controller和@ResponseBody與RestController區(qū)別
SpringBoot默認掃描路徑是啟動類所在路徑(包),和子目錄。
@RestController的作用就是告訴Spring這個類需要掃描。
@RestController = @ResponseBody+@Controller
在早期編程,前后端不分離時@Controller就是負責返回視圖的, @ResponseBody就是負責返回數(shù)據(jù)的。
- 當一個類中既要返回頁面,又要返回數(shù)據(jù)的時候,就在類上加上@Controller,在類中返回數(shù)據(jù)的方法上加@ResponseBody。
- 當一個類全部返回數(shù)據(jù)的時候,就在類上加上@Controller + @ResponseBody,或者@RestController。
- 當一個頁面只返回頁面時,在類上加@Controller。
三、返回HTML代碼?段
直接跟寫HTML代碼一樣,寫就行了,注意這種算返回數(shù)據(jù)。
代碼:
@RequestMapping("/r2") public String r2() { return "<h2>我是二級標題</h2>"; }
訪問結(jié)果:
如果這就是一個文本,只需要在@RequestMapping的products中注明類型即可。
@RequestMapping(value = "/r2", produces = "text/pain") public String r2() { return "<h2>我是二級標題</h2>"; }
四、返回JSON
后端?法返回結(jié)果為對象直接就是返回的JSON。
源碼:
@RequestMapping("/r3") public Person r3() { Person person = new Person(); person.setId(1); person.setName("zhangsan"); person.setPassword("123"); return person; }
結(jié)果:
五、HttpServletResponse設置狀態(tài)碼
Spring MVC會根據(jù)我們?法的返回結(jié)果?動設置響應狀態(tài)碼, 程序員也可以?動指定狀態(tài)碼。
通過類HttpServletResponse下的setStatue來設置。
源碼:
@RequestMapping("/r4") public String r4(HttpServletResponse response) { response.setStatus(404); return "設置狀態(tài)碼成功"; }
結(jié)果:
六、設置Header
6.1 HttpServletResponse設置
通過類HttpServletResponse下的setHeader來設置。
在方法中前一個參數(shù)是header的參數(shù)名,后一個是值。
源碼:
@RequestMapping("/r5") public String r5(HttpServletResponse response) { response.setHeader("myHeader","444"); return "設置Header成功"; }
結(jié)果:
6.2 @RequestMapping設置
@RequestMapping的組成如下:
我們通過設置 produces屬性的值, 設置響應的報頭Content-Type。
源碼:
@RequestMapping(value = "/r6",produces = "application/json") public String r6() { return "{\"success\":true}"; }
結(jié)果:
到此這篇關于springMVC返回Http響應的實現(xiàn)的文章就介紹到這了,更多相關springMVC返回Http響應內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring?Boot?實現(xiàn)?WebSocket?的代碼示例
WebSocket?協(xié)議是獨立的基于?TCP?協(xié)議。它與?HTTP?的唯一關系是,它的握手會被?HTTP?服務器解釋為?Upgrade?請求,接下來通過本文給大家介紹Spring?Boot?實現(xiàn)?WebSocket?示例詳解,需要的朋友可以參考下2022-04-04Java ArrayList的基本概念和作用及動態(tài)數(shù)組的機制與性能
在Java中,ArrayList是一個實現(xiàn)了List接口的動態(tài)數(shù)組,它可以根據(jù)需要自動增加大小,因此可以存儲任意數(shù)量的元素,這篇文章主要介紹了探秘Java ArrayList的基本概念和作用及動態(tài)數(shù)組的機制與性能,需要的朋友可以參考下2023-12-12