springMVC返回Http响应的实现

2025-03-02 17:50

本文主要是介绍springMVC返回Http响应的实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,...

一、返回页面

步骤如下:

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

springMVC返回Http响应的实现

HTML源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Index</title>
</head>
<body>
    Hello,Spring MVC,我是Index⻚⾯.
</body>
</html>
  • 在源码的类注解前面要使用@Controller注解,返回的页面名要与创建的文件名一致,并且加上后缀,且必须加上反斜php杠 /

源码:

@RequestMapping("/response")
@Controller
public class ResponseController {
    @RequestMapping("/r1")
    public String r1() {
        return "/index.html";
    }
}

浏览器访问结果:

springMVC返回Http响应的实现

二、@Controller和@ResponseBody与RestController区别

SpringBoot默认扫描路径是启动类所在路径(包),和子目录。

@RestController的作用就是告诉Spring这个类需要扫描。
@RestController = @ResponseBody+@Controller

springMVC返回Http响应的实现

在早期编程,前后端不分离时@Controller就是负责返回视图的, @ResponseBody就是负责返回数据的。

  • 当一个类中既要返回页面,又要返回数据的时候,就在类上加上@Controller,在类中返回数据的方法上加@ResponseBody。
  • 当一个类全部返回数据的时候,就在类上加上@Controller + @ResponseBody,或者@RestController。
  • 当一个页面只返回页面时,在类上加@Controller。

三、返回HTML代码⽚段

直接跟写HTML代码一样,写就行了,注意这种算返php回数据。
代码:

	@RequestMapping("/r2")
    public String r2() {
        return "<h2>我是二级标题</h2>";
    }

访问结果:

springMVC返回Http响应的实现

如果这就是一个文本,只需要在@RequestMapping的products中注明类型即可。

@RequestMapping(value = "/r2", produces = "text/pain")
    public String r2() {
        return "<h2>我是二级China编程标题</h2>";
    }

四、返回JSON

后端⽅法返回结果为对象直接就是返回的JSON。

源码:

 @RequestMapping("/r3")
    public Person r3() {
        Person person = new Person();
        person.setId(1);
        person.setName("zhangsan");
        person.setPassword("123");
        return person;
    }

结果:

springMVC返回Http响应的实现

五、HttpServletResponse设置状态码

Spring MVC会根据我们⽅法的返回结果⾃动设置响应状态码, 程序员也可以⼿动指定状态码。
通过类HttpServletResponse下的setStatue来设置。

源码:

 @RequestMapping("/r4")
    public String r4(HttpServletResponse response) {
        response.setStatus(404);www.chinasem.cn
        return "设置状态码成功";
    }

结果:

springMVC返回Http响应的实现

六、设置Header

6.1 HttpServletResponse设置

通过类HttpServletResponse下的setHeader来设置。
在方法中前一个参数是header的参数名,后一个是值。

源码:

@RequestMapping("/r5")
    public String r5(HttpServletResponse response) {
        response.setHeader("myHeader","444");
        return "设置Header成功";
    }

结果:

springMVC返回Http响应的实现

6.2 @RequestMapping设置

js

@RequestMapping的组成如下:

springMVC返回Http响应的实现

我们通过设置 produces属性的值, 设置响应的报头Content-Type。
源码:

@RequestMapping(value = "/r6",produces = "application/json")
    public String r6() {
        return "{\"success\":true}";
    }

结果:

springMVC返回Http响应的实现

到此这篇关于springMVC返回Http响应的实现的文章就介绍到这了,更多相关springMVC返回Http响应内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)! 

这篇关于springMVC返回Http响应的实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:http://www.cppcns.com/ruanjian/java/702473.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1153607

相关文章

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Spring Boot 3.x 中 WebClient 示例详解析

《SpringBoot3.x中WebClient示例详解析》SpringBoot3.x中WebClient是响应式HTTP客户端,替代RestTemplate,支持异步非阻塞请求,涵盖GET... 目录Spring Boot 3.x 中 WebClient 全面详解及示例1. WebClient 简介2.

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三