zoukankan      html  css  js  c++  java
  • @Responsebody注解

    @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("输入信息有误!!!");
                    }
                },
    未来的你会感谢现在努力的你
  • 相关阅读:
    BeanFactory 简介以及它 和FactoryBean的区别
    由kill 和 kill -9 引发的Linux signal 学习
    验证整数和小数的正则表达式
    重构!重构!重构!
    Java常用命令:jps、jstack、jmap、jstat(带有实例教程)
    子网掩码是4个255代表什么?
    常见的访问控制模型 Access Control Policy:RBAC,DAC,MAC,ABAC
    安装驱动
    大话数据治理-01什么是治理,治理什么数据
    提高 nginx 服务器 安全性,稳定性、性能 --经验总结-持续更新
  • 原文地址:https://www.cnblogs.com/cjxblogs/p/7151939.html
Copyright © 2011-2022 走看看