码迷,mamicode.com
首页 > 其他好文 > 详细

@Responsebody注解

时间:2017-07-11 19:27:01      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:count   mode   message   oca   resource   trim   return   注解   XML   

@RequestBody

作用: 

      i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;

      ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

使用时机:

A) GET、POST方式提时, 根据request header Content-Type的值来判断:

  •     application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
  •     multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
  •     其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);

 

B) PUT方式提交时, 根据request header Content-Type的值来判断:

 

  •     application/x-www-form-urlencoded, 必须;
  •     multipart/form-data, 不能处理;
  •     其他格式, 必须;

说明:request的body部分的数据编码格式由header部分的Content-Type指定;

 

 

@ResponseBody

 

作用: 

      该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机:

      返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

 

controller层对应栗子:

@Controller
@RequestMapping("system/user")
public class UserCntroller {

    @Resource(name="UserService")
    private UserService userService;
    @RequestMapping(value = "login" , method = RequestMethod.POST)
    @ResponseBody
    public int login(HttpServletRequest request,String account,String password){
        boolean loginResult;
        account = account.trim();
        password = password.trim();
        int flag =userService.login(account,password);
        if(flag == 1){
            System.out.println("sss");
            return 1;
        }else{
            return 0;
        }
    }
}

 

js对应栗子:

$.ajax({
            type:"POST",
            url:"system/user/login.do",
            data:‘account=‘+account+‘&password=‘+password,
            dataType:"json",
            async:true,
            success:function(data){
                if(data==1){
                    location.href="index.html";
                }
                if(data==0){
                    alert("输入信息有误!!!");
                }
            },

 

@Responsebody注解

标签:count   mode   message   oca   resource   trim   return   注解   XML   

原文地址:http://www.cnblogs.com/cjxblogs/p/7151939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!