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

相关文章

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Java中如何正确的停掉线程

《Java中如何正确的停掉线程》Java通过interrupt()通知线程停止而非强制,确保线程自主处理中断,避免数据损坏,线程池的shutdown()等待任务完成,shutdownNow()强制中断... 目录为什么不强制停止为什么 Java 不提供强制停止线程的能力呢?如何用interrupt停止线程s

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置