您的位置:首页 > 科技 > 能源 > 海口广告设计制作公司_电竞网站方案设计_软件开发自学步骤_今日关注

海口广告设计制作公司_电竞网站方案设计_软件开发自学步骤_今日关注

2025/7/1 8:44:00 来源:https://blog.csdn.net/yj20040627/article/details/145857825  浏览:    关键词:海口广告设计制作公司_电竞网站方案设计_软件开发自学步骤_今日关注
海口广告设计制作公司_电竞网站方案设计_软件开发自学步骤_今日关注

目录

  • 一、返回页面
  • 二、@Controller和@ResponseBody与RestController区别
  • 三、返回HTML代码⽚段
  • 四、返回JSON
  • 五、HttpServletResponse设置状态码
  • 六、设置Header
    • 6.1 HttpServletResponse设置
    • 6.2 @RequestMapping设置

一、返回页面

步骤如下:

  1. 我们先要在static目录下创建我们的HTML文件。

HTML源码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Index</title>
</head>
<body>Hello,Spring MVC,我是Index⻚⾯.
</body>
</html>
  1. 在源码的类注解前面要使用@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就是负责返回数据的。

  1. 当一个类中既要返回页面,又要返回数据的时候,就在类上加上@Controller,在类中返回数据的方法上加@ResponseBody。
  2. 当一个类全部返回数据的时候,就在类上加上@Controller + @ResponseBody,或者@RestController。
  3. 当一个页面只返回页面时,在类上加@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}";}

结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com