springmvc之@ResponseBody 和 @RequestBody 注解的区别

springmvc之@ResponseBody 和 @RequestBody 注解的区别springmvc之@ResponseBody 和 @RequestBody 注解的区别

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

  • @Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用;

  • 在使用 @RequestMapping 后,返回值通常解析为跳转路径,加上 @Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。例如,异步获取 json 数据,加上 @Responsebody 注解后,就会直接返回 json 数据。

  • @RequestBody 注解则是将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。
    例如:

    @RequestMapping(value = "person/login")
    @ResponseBody
    public Person login(@RequestBody Person person) { 
         // 将请求中的 datas 写入 Person 对象中
        return person;    // 不会被解析为跳转路径,而是直接写入 HTTP 响应正文中
    }
    

页面异步请求:

function login() { 
   
    var datas = '{"name":"' + $('#name').val() + '","id":"' + $('#id').val() + '","status":"' + $('#status').val() + '"}';
    $.ajax({ 
   
        type : 'POST',
        contentType : 'application/json',
        url : "${pageContext.request.contextPath}/person/login",
        processData : false,
        dataType : 'json',
        data : datas,
        success : function(data) { 
   
            alert("id: " + data.id + "name: " + data.name + "status: "+ data.status);
        },
        error : function() { 
   
            alert('Sorry, it is wrong!');
        }
    });
};

原文地址:

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

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

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


相关推荐

  • 关于jmeter面试问题_前端面试一问三不知怎么办

    关于jmeter面试问题_前端面试一问三不知怎么办1.解释什么是jmeter?  jmeter是一款java开源工具,用于性能负载测试。它旨在分析和衡量web应用程序和各种服务的性能和负载功能行为。2.说明jmeter的工作原理?  jmeter就像一群将请求发送到目标服务器的用户一样。它收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显示应用程序或服务器的性能。3.说明可以在哪里使用函数和变量?  变量和…

    2022年9月30日
  • Dubbo入门_dubbo的原理

    Dubbo入门_dubbo的原理dubbo分布式系统简介发展演变RPCdubbo核心概念搭建dubbo分布式系统简介“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统(distributed system)是建立在网络之上的软件系统。随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。发展演变单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时

    2022年8月8日
  • v4l2驱动框架(Windows驱动开发技术详解)

    环境:OS:Ubuntu16.04(Win10hypev)KernelVersion:3.13.0-24-generic这里终极目标是注册一个/dev/video0的设备,再通过一个应用程序去读取它:#include<linux/module.h>#include<linux/videodev2.h>#include<media/v…

    2022年4月12日
  • JAVA操作FTP(FTP工具类)

    JAVA操作FTP(FTP工具类)JAVAFTP操作导入commons-net<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dependency>packagecom.my.ftp.test;importjava.io.File;imp

    2022年6月9日
  • C++实现学生选课管理系统

    C++实现学生选课管理系统这是主函数逻辑部分#include<iostream>#include”class.h”#include”student.h”usingnamespacestd;intmain(){ courseA; studentB[10];//10个学生 intstucnt=0; intdengluflag=-1;…

    2022年10月16日
  • 神经网络超参数有哪些_神经网络参数优化

    神经网络超参数有哪些_神经网络参数优化本节主要介绍了如何选择神经网络中的超参数。根据神经网络中超参数的特性对超参数进行分类,并给出了大致三种调整超参数的方法。首先根据机理确定激活函数的种类,代价函数的种类,权重初始化的方法,输出层的编码方式;其次根据宽泛策略给出一个结构较为简单神经网络,在这里可以确定网络层数,神经元个数;最后依次确定学习率,minibatch,lambda和回合数。

    2022年11月2日

发表回复

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

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