目录- 一、返回页面
- 二、@Controller和@ResponseBody与RestController区别
- 三、返回HTML代码⽚段
- 四、返回JSON
- 五、HttpServletResponse设置状态码
- 六、设置Header
- 6.1 HttpServletResponse设置
- 6.2 @RequestMapping设置
一、返回页面
步骤如下:
我们先要在static目录下创建我们的HTML文件。
HTML源码:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Index</title>
- </head>
- <body>
- Hello,Spring MVC,我是Index⻚⾯.
- </body>
- </html>
复制代码
- 在源码的类注解前面要使用@Controller注解,返回的页面名要与创建的文件名一致,并且加上后缀,且必须加上反斜杠 /
源码:
- @RequestMapping("/response")
- @Controller
- public class ResponseController {
- @RequestMapping("/r1")
- public String r1() {
- return "/index.html";
- }
- }
复制代码
浏览器访问结果:
二、@Controller和@ResponseBody与RestController区别
SpringBoot默认扫描路径是启动类所在路径(包),和子目录。
@RestController的作用就是告诉Spring这个类需要扫描。 @RestController = @ResponseBody+@Controller
在早期编程,前后端不分离时@Controller就是负责返回视图的, @ResponseBody就是负责返回数据的。
- 当一个类中既要返回页面,又要返回数据的时候,就在类上加上@Controller,在类中返回数据的方法上加@ResponseBody。
- 当一个类全部返回数据的时候,就在类上加上@Controller + @ResponseBody,或者@RestController。
- 当一个页面只返回页面时,在类上加@Controller。
三、返回HTML代码⽚段
直接跟写HTML代码一样,写就行了,注意这种算返回数据。 代码:
- @RequestMapping("/r2")
- public String r2() {
- return "<h2>我是二级标题</h2>";
- }
复制代码
访问结果:
如果这就是一个文本,只需要在@RequestMapping的products中注明类型即可。
- @RequestMapping(value = "/r2", produces = "text/pain")
- public String r2() {
- return "<h2>我是二级标题</h2>";
- }
复制代码
四、返回JSON
后端⽅法返回结果为对象直接就是返回的JSON。
源码:
- @RequestMapping("/r3")
- public Person r3() {
- Person person = new Person();
- person.setId(1);
- person.setName("zhangsan");
- person.setPassword("123");
- return person;
- }
复制代码
结果:
五、HttpServletResponse设置状态码
Spring MVC会根据我们⽅法的返回结果⾃动设置响应状态码, 程序员也可以⼿动指定状态码。 通过类HttpServletResponse下的setStatue来设置。
源码:
- @RequestMapping("/r4")
- public String r4(HttpServletResponse response) {
- response.setStatus(404);
- return "设置状态码成功";
- }
复制代码
结果:
六、设置Header
6.1 HttpServletResponse设置
通过类HttpServletResponse下的setHeader来设置。 在方法中前一个参数是header的参数名,后一个是值。
源码:
- @RequestMapping("/r5")
- public String r5(HttpServletResponse response) {
- response.setHeader("myHeader","444");
- return "设置Header成功";
- }
复制代码
结果:
6.2 @RequestMapping设置
@RequestMapping的组成如下:
我们通过设置 produces属性的值, 设置响应的报头Content-Type。 源码:
- @RequestMapping(value = "/r6",produces = "application/json")
- public String r6() {
- return "{"success":true}";
- }
复制代码
结果:
到此这篇关于springMVC返回Http响应的实现的文章就介绍到这了,更多相关springMVC返回Http响应内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯! 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |