• springmvc之ResponseBody响应json数据


    springmvc之ResponseBody响应json数据

    该注解用于将 Controller 的方法返回的对象,通过 HttpMessageConverter 接口转换为指定格式的数据如:json,xml 等,通过 Response 响应给客户端

    示例

    需求:使用@ResponseBody 注解实现将 controller 方法返回对象转换为 json 响应给客户端。

    前置知识点:Springmvc 默认用 MappingJacksonHttpMessageConverter 对json数据进行转换,需要加入jackson 的包。

    注:2.7.0以下的版本用不了

    jsp代码

    <!-- 测试异步请求 --> 
    <input type="button" value="测试ajax请求json和响应json" id="testJson"/>
    
    <script type="text/javascript"src="${pageContext.request.contextPath}/js/jquery.min.js"></script> 
    <script type="text/javascript">
    $(function(){
    	$("#testJson").click(function(){
            $.ajax({
                type:"post",
                url:"${pageContext.request.contextPath}/testResponseJson",
                contentType:"application/json;charset=utf-8",
                data:JSON.stringify({"id":1,"name":"test","money":999.0}),
                dataType:"json",
                success:function(data){
                	alert(data);
    			}
    		});
    	});
    })
    </script>
    

    控制器代码

    /**
    * 响应 json 数据的控制器
    * @author 黑马程序员
    * @Company 
    * @Version 1.0
    */
    @Controller("jsonController")
    public class JsonController {
        /**
        * 测试响应 json 数据
        */
    	@RequestMapping("/testResponseJson")
    	public @ResponseBody Account testResponseJson(@RequestBody Account account) {
            System.out.println("异步请求:"+account);
            return account; 
    	} 
    }
    

    配置json转换器

    如果不使用注解驱动<mvc:annotation-driven />,就需要给处理器适配器配置json转换器

    在springmvc.xml配置文件中,给处理器适配器加入json转换器:

    <!--处理器适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
        	<list>
        		<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
        	</list>
        </property>
    </bean>
    
    记得快乐
  • 相关阅读:
    深度学习的一些思考
    卷积神经网络CNN
    使用seaborn探索泰坦尼克号上乘客能否获救
    问题记录贴
    相机标定
    docker的--net=host有什么用
    深度学习在3D点云处理中的探索
    python fire使用指南
    ssh配置免密登录及连接远程主机的container
    xavier安装jetpack
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13840563.html
Copyright © 2020-2023  润新知