springMVC返回Http响应的实现

 更新时间:2025年03月02日 10:04:33   作者:鸽鸽程序猿  
本文主要介绍了在Spring Boot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,具有一定的参考价值,感兴趣的可以了解一下

一、返回页面

步骤如下:

我们先要在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响应内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • SpringBoot整合Zookeeper详细教程

    SpringBoot整合Zookeeper详细教程

    Curator是Netflix公司开源的⼀套zookeeper客户端框架,Curator是对Zookeeper⽀持最好的客户端框架。Curator封装了⼤部分Zookeeper的功能,⽐如Leader选举、分布式锁等,减少了技术⼈员在使⽤Zookeeper时的底层细节开发⼯作
    2022-12-12
  • Spring JDBC 框架简介

    Spring JDBC 框架简介

    Spring JDBC 提供几种方法和数据库中相应的不同的类与接口。我将给出使用JdbcTemplate类框架的经典和最受欢迎的方法。本文给大家介绍Spring JDBC 框架的相关知识,感兴趣的朋友一起看看吧
    2021-12-12
  • intellij idea如何将web项目打成war包的实现

    intellij idea如何将web项目打成war包的实现

    这篇文章主要介绍了intellij idea如何将web项目打成war包的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java 中的弱引用是什么

    Java 中的弱引用是什么

    这篇文章主要介绍了Java 中的弱引用是什么,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-01-01
  • MyEclipse整合ssh三大框架环境搭载用户注册源码下载

    MyEclipse整合ssh三大框架环境搭载用户注册源码下载

    这篇文章主要为大家详细介绍了如何使用MyEclipse整合ssh三大框架进行环境搭载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 一文搞懂Java JDBC中的SQL注入问题

    一文搞懂Java JDBC中的SQL注入问题

    在用户输入的数据中有SQL关键字或语法,并且关键字或语法参与了SQL语句的编译,导致SQL语句编译后的条件为true,一直得到正确的结果,这种现象就是SQL注入,这篇文章主要介绍了一文搞懂Java JDBC中的SQL注入问题,需要的朋友可以参考下
    2022-10-10
  • java 验证码的生成实现

    java 验证码的生成实现

    这篇文章主要介绍了java 验证码的生成实现的相关资料,需要的朋友可以参考下
    2017-08-08
  • SpringBoot如何返回页面的实现方法

    SpringBoot如何返回页面的实现方法

    SpringBoot中使用Controller和页面的结合能够很好地实现用户的功能及页面数据的传递。本文介绍了如何实现页面的返回以及这里面所包含的坑,感兴趣的可以了解一下
    2021-07-07
  • Java8 新特性Lambda表达式实例详解

    Java8 新特性Lambda表达式实例详解

    这篇文章主要介绍了Java8 新特性Lambda表达式实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • Java算法练习题,每天进步一点点(1)

    Java算法练习题,每天进步一点点(1)

    方法下面小编就为大家带来一篇Java算法的一道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07

最新评论