zoukankan      html  css  js  c++  java
  • 注解@ResponseBody和@RequestBody

    @RequestMapping("url"),这里的url是请求路径的一部分,一般作用在controller的方法上,作为请求的映射地址。

    @ResponseBody是作用在方法上,它表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用【AJAX】,在使用@RequestMapping后,返回值通常解析为跳转路径,但是加上@ResponseBody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body 中。比如异步获取json数据,加上@ResponseBody后,会直接返回json数据,@RquestBody将HTTP请求正文插入方法中,使用适合的HttpMessageConverter将请求体写入某个对象。

    举个例子:

    function loginAction(){
       //获取用户输入的账号和密码
       var name=$("#name").val();
       var pwd=$("#pwd").val();
       $.ajax({
            url:"account/login",
            type:"post",
            data:{
                'name':name,
                 'pwd':pwd
            },
            dataType:"json",
            success:function(res){
                 if(res.data==0){
                      addCookie("userid",result.data.id);
                      addCookie("nick",result.data.nick);
                      location.href="edit.html";
                 }else{
                      var msg=result.message;
                      $("#sig_in").next().html(msg);
                   $("#sig_in").next().css("color","red");
                 }
            },
            error:function(e){
                 alert("异常");
            }
       });
       $("#pwd").val("");
    }

    后台controller中对应方法:

    @RequestMapping("/login")
    @ResponseBody
    public Object login(String name,String pwd,HttpSession session){
        user=userServce.checkLogin(name,pwd);
        session.setAttribute("user",user);
        return new JsonResult(user);
    }

    @RequestBody

    它的作用在形参列表上,用于将前台发送过来固定格式的数据(xml格式或json等)封装为对应的JavaBean对象,封装时使用到的一个对象是系统默认配置的HttpMessageConverter进行解析,然后封装到形参上。

    比如上面的登录方法可以改为:

    @RequestMapping("/login")
    @ResponseBody
    public Object login(@RequestBody User loginUser,HttpSession session){
        user=userServce.checkLogin(loginUser);
        session.setAttribute("user",user);
        return new JsonResult(user);
    }
  • 相关阅读:
    EventDemo——演示事件流
    数组的深复制和浅复制
    Loader类和LoaderInfo类
    几个不同颜色方框——事件流
    自定义事件类的方法——实现接口
    [转帖]ModelSim+Synplify+Quartus的Altera FPGA的仿真与验证
    [转帖]2011年最新企业offer(待遇)比较
    [转帖]引用 利用ModelSim进行的功能仿真,综合后仿真,时序仿真
    [转帖]VHDL中Configuration
    [转帖]ModelSim+Debussy仿真(Verilog)
  • 原文地址:https://www.cnblogs.com/xslzwm/p/10535150.html
Copyright © 2011-2022 走看看