SpringMVC返回json数据的配置
来源:互联网 发布:数据库中的游标是什么 编辑:程序博客网 时间:2024/06/03 13:47
1、第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew。
如:
<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
或者
<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>
同样要用jackson的jar包。
jackson-core-*.jar
jackson-databind-*.jar
2、第二种使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。
利用HttpServletResponse,然后获取response.getOutputStream()或response.getWriter()直接输出。
SpringMVC 中使用如下:
ResponseUtils.java
import java.io.IOException;import javax.servlet.http.HttpServletResponse;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * HttpServletResponse帮助类 * * @author luanzelin * */public class ResponseUtils { private static final Logger log = LoggerFactory.getLogger(ResponseUtils.class); /** * 发送json。使用UTF-8编码。 * * @param response * HttpServletResponse * @param text * 发送的字符串 */ public static void renderJson(HttpServletResponse response, String text) { render(response, "application/json;charset=UTF-8", text); } /** * 发送内容。使用UTF-8编码。 * * @param response * @param contentType * @param text */ public static void render(HttpServletResponse response, String contentType, String text) { response.setContentType(contentType); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); try { response.getWriter().write(text); } catch (IOException e) { log.error(e.getMessage(), e); } }}
controller:
@RequestMapping("/getDatabaseTable.do")public void getDatabaseTable(HttpServletResponse response) { List<String> tableName = new ArrayList<String>(); JSONObject json = new JSONObject(); json.put("tableName", tableName); ResponseUtils.renderJson(response, json.toString());}
3、第三种利用spring mvc3的注解@ResponseBody
例如:
@ResponseBody @RequestMapping("/list") public List<String> list(ModelMap modelMap) { String hql = "select c from Clothing c "; Page<Clothing> page = new Page<Clothing>(); page.setPageSize(6); page = clothingServiceImpl.queryForPageByHql(page, hql); return page.getResult(); }
然后使用spring mvc的默认配置就可以返回json了,不过需要jackson的jar包哦。
注意:当springMVC-servlet.xml中使用时,如果是3.1之前已经默认注入AnnotationMethodHandlerAdapter,3.1之后默认注入RequestMappingHandlerAdapter只需加上上面提及的jar包即可!
如果是手动注入RequestMappingHandlerAdapter 可以这样设置
配置如下:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" p:ignoreDefaultModelOnRedirect="true" > <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/> </list> </property> </bean>
添加包
jackson-mapper-asl-*.jar
jackson-core-asl-*.jar
0 0
- SpringMVC返回json数据的配置方式
- SpringMVC返回json数据的配置方式
- SpringMVC返回json数据的配置方式
- SpringMVC返回json数据的配置
- springmvc 的 json返回配置
- springmvc配置responsebody返回json格式数据
- 零xml配置SpringMVC返回json数据
- SpringMVC返回json数据完整配置如下。
- springmvc 返回 json数据
- springmvc返回json数据
- SpringMVC返回json数据
- SpringMVC返回JSON数据
- SpringMVC返回JSON数据
- SpringMVC返回json数据
- springmvc返回json数据
- Springmvc返回json数据
- SpringMVC返回json数据
- springmvc 返回json配置
- ASP.NET Web API 之 WebApiConfig
- oracle11gRAC环境使用RMAN备份方案(ASM)_fin
- HDU 1001
- CMS内容管理系统开发- Java Web开发及发布实例(1)
- Nginx与tomcat组合的简单使用
- SpringMVC返回json数据的配置
- mysql的GROUP_CONCAT
- Java的重要性
- c++中的 extern "C"
- 2017.03.01回顾
- RMAN 备份详解
- 循环神经网络——实现LSTM
- 百度上传插件(webupload)单文件(单图片)上传设置
- adb命令大全