【SpringMVC】_SpringMVC项目返回HTML与JSON

目录

1. SpringMVC项目返回HTML页面

2. SpringMVC项目返回JSON

2.1 程序演示

2.2 关于响应的Content-Type

2.2.1 接口为对象

2.2.2 接口为String

2.2.3 接口为Map


本专栏已介绍:

返回静态页面:

【Spring MVC】_SpringMVC项目返回静态页面_mvc 返回当前页面-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/138230689返回数据:
【Spring MVC】_SpringMVC项目返回数据-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/138257338本篇介绍返回HTML与返回JSON;

1. SpringMVC项目返回HTML页面

.java文件内容如下:

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/return")
@Controller
public class ReturnController {
    @ResponseBody
    @RequestMapping("/returnHtml")
    public String returnHtml(){
        return "<h1>Return as HTML Page.<h1>";
    }
}

运行启动类,根据URL访问页面如下:

在本例中使用的是@Controller与@ResponseBody注解,即选择返回数据;

当后端返回的代码段中含有HTML代码,会被浏览器自动解析为HTML页面

注:如果需要设置不解析HTML代码,则需要使用转义字符,此处不再演示;

2. SpringMVC项目返回JSON

2.1 程序演示

.java文件内容如下:

package com.example.demo.controller;

import com.example.demo.Person;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/return")
@Controller
public class ReturnController {
    @ResponseBody
    @RequestMapping("/returnJson")
    public Person returnJson(){
        Person person = new Person();
        person.setId(1);
        person.setName("Mike");
        person.setAge(20);
        return person;
    }
}

运行启动类,输入URL进行访问,页面如下:

2.2 关于响应的Content-Type

2.2.1 接口为对象

(代码示例为2.1Person接口)

当接口为对象时,返回的Content-Type会被自动设置为application/json

2.2.2 接口为String

(代码示例为1HTML页面)

当接口为String类型时,返回的Content-Type为text/html

2.2.3 接口为Map

.java文件内容如下:

package com.example.demo.controller;

import com.example.demo.Person;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RequestMapping("/return")
@Controller
public class ReturnController {
    @ResponseBody
    @RequestMapping("/returnJson2")
    public Map<String,String> returnMap(){
        Map<String,String> kv = new HashMap<>();
        kv.put("k1","v1");
        kv.put("k2","v2");
        return kv;
    }
}

根据URL进行访问,页面如下:

使用Fiddler抓包查看HTTP响应详情:

可见接口为形如Map的泛型接口时,返回的Content-Type也是application/json

即:需要将HTTP响应的body部分设置为JSON类型

无需进行手动设置,当返回一个对象时Spring会自动将content-type设置为json。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/662101.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024了,还有人在问为甚死锁?

大家好&#xff0c;我是javapub。 接上篇提到了锁&#xff0c;《InnoDB有哪些锁类型》。这么多的锁&#xff0c;你有遇到过死锁吗&#xff1f; 死锁是在事务数据库中会发生的一种特殊现象&#xff0c;多个事务在执行过程中&#xff0c;相互等待对方持有的资源&#xff0c;导致…

软件游戏缺失d3dcompiler_47.dll如何解决,简单有效的五种解决方法分享

在现代游戏中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“缺少d3dcompiler47.dll文件”。这个问题通常会导致游戏无法正常运行或出现崩溃的情况。为了解决这个问题&#xff0c;我总结出了以下五种解决方法。希望这些方法能够帮助到遇到相同问题的玩家。 …

论文解读之A General-Purpose Self-Supervised Model for Computational Pathology

一、前言 目前&#xff0c;有很多无知者认为计算机在疾病诊断上超过了人类&#xff0c;他们的理解是计算机在美丽国的某个什么医师测评上得分超过了人类。这比较可笑和无知。 笔者认为&#xff1a;病理图像的病症复杂、种类繁多&#xff0c;同时数据集很少并且标注极为困难。…

学习笔记——动态路由协议——OSPF(简介)

一、 OSPF简介 1、前言 由于静态路由由网络管理员手工配置&#xff0c;因此当网络发生变化时&#xff0c;静态路由需要手动调整&#xff0c;这制约了静态路由在现网大规模的应用。 动态路由协议因其灵活性高、可靠性好、易于扩展等特点被广泛应用于现网。在动态路由协议之中…

数字工厂管理系统可以和哪些软件集成

随着工业4.0时代的到来&#xff0c;数字工厂管理系统已成为制造业转型升级的核心驱动力。数字工厂管理系统通过集成各种软件和技术&#xff0c;实现了生产过程的数字化、网络化和智能化&#xff0c;大大提高了生产效率和管理水平。本文将探讨数字工厂管理系统可以与哪些软件集成…

在table表格中如何给tr的每一个子元素加haver效果

效果图&#xff1a; 核心代码&#xff1a; tbody tr :hover {background-color: #d5d5d5; } 改变子元素 tbody tr:hover {background-color: #d5d5d5; } 改变父元素 两段代码看起来一样&#xff0c;其实不一样&#xff0c;其中差了一个空格字符 希望可以帮到大家

Xilinx FPGA中的BUFFER

FPGA大型设计中推荐使用同步时序电路&#xff0c;同步时序电路基于时钟触发沿设计&#xff0c;对时钟的周期、占空比、延时和抖动有更高的要求。为满足时序的要求&#xff0c;一般采用全局时钟资源驱动设计的主时钟&#xff0c;FPGA的主时钟一般使用全铜层工艺实现&#xff0c;…

服务器内存与CPU要占用多少才合理?

一 通常服务器内存占用多少合理&#xff1f;cpu占用多少才合理&#xff1f; 1 通常配置范围建议&#xff1a; 建议CPU使用率不高于80%&#xff1b;内存使用率不高于80%&#xff1b; 注意&#xff1a;具体情况还需要根据服务器的实际负载和应用场景来判断。 2 内存使用率&…

揭秘智慧校园:可视化技术引领教育新篇章

随着科技的飞速发展&#xff0c;我们的生活方式正在经历一场前所未有的变革。而在这场变革中&#xff0c;学校作为培养未来人才的重要基地&#xff0c;也在不断地探索与创新。 一、什么是校园可视化&#xff1f; 校园可视化&#xff0c;就是通过先进的信息技术&#xff0c;将学…

光纤现网与接入网概念对应

OLT 一般在机房 一级分光可能在机房也可能在光交交接箱 路边的光交交接箱功能有分光或者光纤汇聚转换一下 二级分光在分光光纤箱里&#xff0c;楼道里面挂着的那种 ONU是家里的光猫

喜讯 | 盘古信息冠捷科技、锐明科技IMS项目荣获创新案例、优秀案例

5月28日&#xff0c;中国数据要素及行业应用创新大会盛大启幕&#xff0c;现场汇聚了中国工程院院士、数据要素研究机构及数据要素知名企业、数字要素行业生态代表等300位业内相关人士。广东盘古信息科技股份有限公司副总经理朱熀锋代表盘古信息出席大会&#xff0c;并带来了IM…

【SOFARPC框架的设计和实现】笔记记录

感谢刘老师对rpc框架的视频讲解&#xff1a;SOFAChannel#31 RPC框架的设计和实现_哔哩哔哩_bilibili 每个扩展点就是一个接口&#xff0c;可以通过实现接口来时拓展。 以registry举例&#xff0c;可以使用Extensible注解标记接口&#xff0c;然后Extension标记方法的实现。 …

STM32定时器及输出PWM完成呼吸灯

文章目录 一、STM32定时器原理1、基本定时器2、通用定时器&#xff08;1&#xff09;时钟源&#xff08;2&#xff09;预分频器PSC&#xff08;3&#xff09;计数器CNT&#xff08;4&#xff09;自动装载寄存器ARR 3、高级定时器 二、PWM工作原理三、控制LED以2s的频率周期性地…

esp8266的rtos和nonos区别

https://bbs.espressif.com/viewtopic.php?t75242#p100294 https://blog.csdn.net/ydogg/article/details/72598752

MT3043 排序

思路&#xff1a; 如果有两次操作i和j&#xff0c;j在i后面操作&#xff0c;且j的x比i的x大&#xff0c;则i的操作被j所覆盖&#xff08;即i的操作是无用的&#xff09; 可以将操作i删除。 如果有两次操作i和j&#xff0c;j在i后面操作&#xff0c;且j的x比i的x小&#xff…

Chromebook Plus中添加了Gemini?

Chromebook Plus中添加了Gemini&#xff1f; 前言 就在5月29日&#xff0c;谷歌宣布了一项重大更新&#xff0c;将其Gemini人工智能技术集成到Chromebook Plus笔记本电脑中。这项技术此前已应用于谷歌的其他设备。华硕和惠普已经在市场上销售的Chromebook Plus机型&#xff0c;…

装机必备——截图软件PixPin安装教程

装机必备——截图软件PixPin安装教程 软件下载 软件名称&#xff1a;PixPin 1.5 软件语言&#xff1a;简体中文 软件大小&#xff1a;30.1M 系统要求&#xff1a;Windows7或更高&#xff0c; 64位操作系统 硬件要求&#xff1a;CPU2GHz &#xff0c;RAM2G或更高 下载通道①迅…

【Vue】小案例-小黑的书架

需求&#xff1a; 根据左侧数据渲染出右侧列表&#xff08;v-for&#xff09; 点击删除按钮时&#xff0c;应该把当前行从列表中删除&#xff08;获取当前行的id&#xff0c;利用filter进行过滤&#xff09; PS&#xff1a;id和下标同时存在&#xff0c;则优先根据id来删除&a…

基于Centos7 安装k8s一主两从

一、资源准备 mac下虚拟机环境搭建 1、使用搜狐的iso源 http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso 下载 iso镜像。 2、https://www.macwk.com/soft/vmware 下载 mac vm虚拟机 3、搭建一主两从集群所需虚拟机 4、新建虚拟机…

半个月获邀请函|在读博士公派新加坡南洋理工大学联合培养

J同学计划先申报CSC联培博士&#xff0c;如若获批&#xff0c;再走本校的联培资助项目。我们仅用半个月时间&#xff0c;就为其申请到新加坡南洋理工大学&#xff0c;因导师接收名额有限制&#xff0c;其又热心推荐了另一位指导导师&#xff0c;最终J同学如愿获得学校资助出国联…