request获取json请求参数_servlet接收json数据

request获取json请求参数_servlet接收json数据SpringMVC HttpMessageConverter接口处理Json

大家好,又见面了,我是你们的朋友全栈君。

一、SpringMVC处理json的使用

1.添加依赖jar包

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.8.7</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.8.7</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.7</version>
</dependency>

2、编写目标方法,使其返回 JSON 对应的对象或集合,在方法上添加@ResponseBody注解:

@Controller
@RequestMapping("/user")
public class UserController
{
    @Autowired
    private UserService userService;
    
    @RequestMapping("/getUserList")
    @ResponseBody
    public Map<String, Object> getUserList(Model model)
    {
        List<User> userlist = userService.getUserList();
        Map<String, Object> map = new HashMap<>();
        map.put("aaData", userlist);
        return map;
    }
}

二、HttpMessageConverter

1.HttpMessageConverter信息

    HttpMessageConverter<T> 是 Spring3.0 新添加的一个接口,负责将请求信息转换为一个对象(类型为 T),将对象(类型为 T)输出为响应信息 

request获取json请求参数_servlet接收json数据

2、HttpMessageConverter 运行原理

request获取json请求参数_servlet接收json数据 

(1)HttpInputMessage 将请求的信息先转为 InputStream 对象,InputStream 再由 HttpMessageConverter 转换为 SpringMVC 需要的java对象;

(2)SpringMVC 返回一个 java 对象, 并通过 HttpMessageConverter 转为响应信息,接着 HttpOutputMessage 将响应的信息转换为 OutputStream,接着给出响应。

3.HttpMessageConveter 的实现类

request获取json请求参数_servlet接收json数据

4.SpringMVC 默认加载的 HttpMessageConverter 实现类

(1)DispatcherServlet 默认加载 HttpMessageConveter 的6个实现类,如下所示:

request获取json请求参数_servlet接收json数据

(2)加入 jackson jar包后,启动的时候加载 7个 HttpMessageConverter 的实现类,如下所示:

request获取json请求参数_servlet接收json数据

 5、使用 HttpMessageConverter

request获取json请求参数_servlet接收json数据

(1) @ResponseBody 和 @RequestBody 示例:

request获取json请求参数_servlet接收json数据

(2) HttpEntity 和 ResponseEntity 示例

request获取json请求参数_servlet接收json数据

request获取json请求参数_servlet接收json数据

转载于:https://my.oschina.net/langwanghuangshifu/blog/2052183

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107307.html原文链接:https://javaforall.net

赞 (1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 字符串截取substring方法

    字符串截取substring方法今天截取字符串截取多一个,研究了一下我们吧电话号为字符串开始截取错误示范Stringtel=”159-4322-1515″;intindex=tel.indexOf(“-“);//3intlastIndex=tel.lastIndexOf(“-“);//8Strings=tel.substring(0,index);//159Strings1=tel.substring(index

    2022年5月15日
  • navicat15激活码序列号(注册激活)

    (navicat15激活码序列号)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html83PVI25FMO-eyJsaWNlbnNlSW…

    2022年3月27日
  • 语义分割看这一篇就够了!「建议收藏」

    语义分割看这一篇就够了!「建议收藏」语义分割技术综述本文就ImageSegmentationUsingDeepLearning:ASurvey第三章的模型进行了分析和介绍,第一第二章的基础指示可以看原文进行学习,相关知识有很多这里就不班门弄斧了。最好是一边读原文一边看本文效果更佳原文连接能力有限,水平一般,抱着学习的态度分享此文,有不准确的地方还请各位大佬斧正!3.1全连接网络关于FCN的资料有很多这里就不…

    2022年8月21日
  • tensorflow矩阵运算_二维矩阵求逆

    tensorflow矩阵运算_二维矩阵求逆线性回归算法能表示为矩阵计算,Ax=b。这里要解决的是用矩阵x来求解系数。1.导入必要的编程库,初始化计算图,并生成数据。&gt;&gt;&gt;importmatplotlib.pyplotasplt&gt;&gt;&gt;importnumpyasnp&gt;&gt;&gt;importtensorflowastf&gt;&gt;&gt;sess=tf.Session…

    2022年8月21日
  • 电脑蓝屏代码0x000000ed的解决方法_蓝屏错误代码0xc000007b

    电脑蓝屏代码0x000000ed的解决方法_蓝屏错误代码0xc000007b一些用户发现自己的XP系统出现蓝屏,屏幕上显示的代码是0x000000ED,遮盖如何解决呢?今天小编就给大家分享一下解决这个问题的方法吧。导致蓝屏原因:一般都是由系统软件、内存、硬盘引起的。解决方法:1电脑不心装上了恶意软件,或上网时产生了恶意程序,建议用360卫士、金山卫士等软件,清理垃圾,查杀恶意软件,就可能解决。实在不行,重装,还原过系统,可以解决软件引起的问题。2如果不能进入系统,可…

    2022年10月8日
  • python hexdump_细说Linux中怎么用hexdump命令

    python hexdump_细说Linux中怎么用hexdump命令摘要:hexdump描述:hexdump命令一般用来查看”二进制”文件的十六进制编码,从手册上查看,其查看的内容还要很多,诸如:ascii,decimal,hexadecimal,octal参数:hexdump[-bcCdovx][-eformat_string][-fformat_file][-nlength][-sskip]file示例:新增一个文本文件,在test…

    2022年9月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号