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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • idea怎么查看maven版本_maven项目中plugins爆红

    idea怎么查看maven版本_maven项目中plugins爆红idea查看maven版本idea查看maven版本

    2022年10月28日
  • Academic social networks: Modeling, analysis, mining and applications 2019翻译[通俗易懂]

    Academic social networks: Modeling, analysis, mining and applications 2019翻译[通俗易懂]Academicsocialnetworks:Modeling,analysis,miningandapplications摘要:在快速增长的学术大数据背景下,社交网络技术最近引起了学术界和工业界的广泛关注。学术社会网络的概念正是在学术大数据的背景下产生的,指的是由学术实体及其关系形成的复杂的学术网络。有大量的学术大数据处理方法来分析学术社交网络丰富的结构类型和相关信息。现在各种学术数据都很容易获取,这让我们更容易分析和研究学术社交网络。本研究调查了学术社交网络的背景、现状和趋势。我们首先

  • dom.querySelector和document.getElementById区别

    dom.querySelector和document.getElementById区别、document.getElementById可以查询纯数字的iddom.querySelectordocument.querySelectorAll(’[id=“111”]’)在某个dom下寻找相应选择器的元素背景产品反馈项目系统模板复制之后,元素无法拖拽。经排查发现元素继承自move组件。而每个元素绑定的id竟然纯数字;复制模板之后由于项目的复杂性无法统一的对复制出…

  • 让旧Mac免费获得 iWork 套件的秘籍「建议收藏」

    让旧Mac免费获得 iWork 套件的秘籍「建议收藏」让旧Mac免费获得iWork套件的秘籍2013-10-2409:13iapps.im只要购买了苹果新设备就可以免费获得iWork和iLife套件。但是我们拥有旧Mac的人呢?昨夜大家是不是一夜无眠呀,数数手头有多少钱,银行卡可以刷多少,才能抱回几个心仪的设备呢!苹果对新Mac的政策也如当时对iPhone5s一样,只要购买了新设备就可以免费获得iW

    2022年10月31日
  • JSP include 绝对路径[通俗易懂]

    JSP include 绝对路径[通俗易懂]

  • 父子组建传值_详解Vue之父子组件传值

    父子组建传值_详解Vue之父子组件传值一、简要介绍父子组件之间的传值主要有三种:传递数值、传递方法、传递对象,主要是靠子组件的props属性来接收传值,下面分别介绍:(一)传递数值1.子组件:Header.vue{{msg}}exportdefault{data(){return{}},methods:{},//接收父类的传值props:[‘msg’]}可以看到,在子组件中的data对象里并没有msg属性,这里调…

发表回复

您的电子邮箱地址不会被公开。

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