springMVC处理器返回Object-json

步骤

现在做ajax,主要使用json数据格式。实现步骤:

  • 加入处理json的工具库依赖,springmvc默认使用的是jackson
  • 在springmvc的配置文件之间加入注解驱动,应用于json=om.writeValueAsString(student)
  • 在处理器方法的上面加入@ResponseBody注解resp.setContentType("application/json;charset=utf-8"); PrintWriter pw = resp.getWriter(); pw.println(json);

原理

springmvc处理器方法返回Object,可以转为json输出到浏览器,响应ajax的内部原理

  1. mvc:annotation-driven注解驱动。
    注解驱动实现的功能是完成java对象到json、xml、text、二进制等数据格式的转换。
    有个HttpMessageConveter接口:消息转换器
    功能:定义来java转为json,xml等数据格式的方法。这个接口有很多的实现类。这些实现类完成了java对象到json、xml、二进制数据的转换
  2. @responseBody注解
    放在处理器方法上面,把处理器方法返回对象转成json后,通过HttpServletResponse输出数据,响应ajax请求

实现

在springmvc配置文件中加入注解驱动

<!-- 使用@RequestMapping   jackson注解驱动,必须是这个http://www.springframework.org/schema/mvc-->
    <mvc:annotation-driven/>

前端发起请求

$(function () {
            $("button").click(function () {
                $.ajax({
                        url:"ajax2.do",
                        data:{
                            name:"cjl",
                            age:23
                        },
                        type:"post",
                        dataType:"json",
                        success:function (resp){
                            alert(resp.name+" --- "+resp.age);
                            // alert(resp);
                        }
                    }
                )
            })
        })

controller处理

    //返回object,添加jackson依赖,在springmvc配置文件中加入注解却动,在方法上加@ResponseBody注解
    //返回对象会被框架转成json
    @RequestMapping(value = "/ajax2.do", method = RequestMethod.POST)
    @ResponseBody
    public Object doAjax2(String name, Integer age) {
        Student student=new Student(name,age);
        return student;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值