@Responsebody与@RequestBody

本文详细介绍了 Spring MVC 中 @RequestMapping、@ResponseBody 和 @RequestBody 的使用方法。解释了这些注解如何帮助实现前后端交互,特别是在异步数据获取及 JSON 数据交换方面。

  前台发送请求后台用什么接收--》@RequsetMapping

  何时使用@ResponseBody-->一般在异步获取数据时使用,后台传的数据切成ison传给前台

 

  @Responsebody与@RequestBody

  @RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestMapping(value = "/aaa")//类级别,可以没有
public class myController {
    @RequestMapping(value = "/bbb")//方法级别,必须有
    public String getMyName() {
        return "myReturn";
    }
}
对应的action就是:<form action="aaa/bbb">
返回页面就是myReturn.jsp

  @Responsebody表示该方法的返回结果直接写入HTTP response body中 一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径, 加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。 比如异步获取json数据,加上@Responsebody后,会直接返回json数据。
 1 function login() {//页面异步请求
 2     var mydata = '{"name":"' + $('#name').val() + '","id":"'
 3             + $('#id').val() + '","status":"' + $('#status').val() + '"}';
 4     $.ajax({
 5         type : 'POST',
 6         contentType : 'application/json',
 7         url : "${pageContext.request.contextPath}/person/login",
 8         processData : false,
 9         dataType : 'json',
10         data : mydata,
11         success : function(data) {
12             alert("id: " + data.id + "\nname: " + data.name + "\nstatus: "
13                     + data.status);
14         },
15         error : function() {
16             alert('出错了!');
17         }
18     });
19 };
20     @RequestMapping(value = "person/login")
21     @ResponseBody
22     public Person login(@RequestBody Person person) {//将请求中的mydata写入Person对象中
23         return person;//不会被解析为跳转路径,而是直接写入HTTP response body中
24     }
View Code
 

转载于:https://www.cnblogs.com/zhaozhaozhang/p/5821329.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值