【转载请注明出处:http://blog.csdn.net/leytton/article/details/38535837】
SpringMVC系列文章索引 http://blog.csdn.net/leytton/article/details/38502665
spring mvc自带的jackson 可以十分便捷地将任意对象转化为Json格式数据返回
一、 web工程lib中加入jackson所需jar包
jackson-core-asl-1.9.9.jar、jackson-mapper-asl-1.9.9.jar 可在我的网盘分享下载 http://pan.baidu.com/s/1jGEAZ9G
二、 在配置文件springMVC-servlet.xml中加入jackson配置
<!-- json转换器 -->
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json"></property>
</bean>
最终效果
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 配置静态资源,直接映射到对应的文件夹,不被DispatcherServlet处理,3.04新增功能,需要重新设置spring-mvc-3.0.xsd -->
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/uploads/**" location="/uploads/" />
<!-- ①:对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->
<context:component-scan base-package="com.llqqww.controller" />
<mvc:annotation-driven />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- json转换器 -->
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json"></property>
</bean>
</beans>
三、 在Controller的Action中添加注解"@ResponseBody"
程序自动将返回的任意对象值转化成json格式数据
Controller
package com.llqqww.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/hi")
public class HelloWorldController{
@RequestMapping("/getUserJson")
@ResponseBody
public Map<String, Object> getUserJson(){
Map<String, Object> map = new HashMap<String, Object>();
map.put("type", 1);
map.put("name", "Leytton");
map.put("university", "DHU");
return map;
}
}
四、 效果图