- 浏览: 932865 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (251)
- WebService (17)
- IBatis (22)
- Hibernate (1)
- SpringMVC - 基础篇 (32)
- Spring (15)
- Java (11)
- JVM及调优 - 基础篇 (4)
- 集群 (14)
- 数据库 (17)
- WebSphere (5)
- 多线程 (4)
- 集合、容器 (2)
- DB Pool (1)
- Power Designer (5)
- Maven基础 (5)
- JS (14)
- WEB 前端 (5)
- 实用小工具 (17)
- 社会、人 (2)
- 乱七八糟 (18)
- ASM&CGLIB - 基础篇 (12)
- 缓存 (1)
- 性能 (1)
- 设计之殇 (1)
- 分布式事务 (1)
- 单点登录 (11)
- 分布式 Session (4)
- Memcached - 基础篇 (6)
最新评论
-
一笑_奈何:
楼主写的还真行不错。
扫盲贴 - J2EE集群之JNDI集群实现 -
xuezhongyu01:
博主写的很详细,但最后还是没明白,最后调用BasicDataS ...
Spring中的destroy-method方法 -
Mr梁:
commons-fileupload.jar commons- ...
SpringMVC 中文件上传 MultipartResolver -
Eywa:
总结的很不错
ORACLE CASE WHEN 及 SELECT CASE WHEN的用法 -
TryRelax:
fastjson 比 jackson 好用吧?
Spring MVC Jackson DateFormat
基于上一篇文章的代码基础上
一、准备工作
1、 下载依赖库jar包
Jackson的jar all下载地址:http://wiki.fasterxml.com/JacksonDownload
jackson-core-asl.jar
jackson-mapper-as.jar
二、修改配置文件spmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc/spring-mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd"> <!-- 自动扫描注解的Controller --> <context:component-scan base-package="com.wy.controller.annotation" /> <!-- 处理在类级别上的@RequestMapping注解--> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> <!-- 处理方法级别上的@RequestMapping注解--> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" > <property name="messageConverters"> <util:list id="beanList"> <ref bean="mappingJacksonHttpMessageConverter"/> </util:list> </property> </bean> <!-- 视图解析器策略 和 视图解析器 --> <!-- 对JSTL提供良好的支持 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 默认的viewClass,可以不用配置 <property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView" /> --> <property name="prefix" value="/WEB-INF/page/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 处理JSON数据转换的 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <!-- 为了处理返回的JSON数据的编码,默认是ISO-88859-1的,这里把它设置为UTF-8,解决有乱码的情况 --> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- ResourceBundleViewResolver通过basename所指定的ResourceBundle解析视图名。 对每个待解析的视图,ResourceBundle里的[视图名].class所对应的值就是实现该视图的类。 同样,[视图名].url所对应的值是该视图所对应的URL。 可以指定一个parent view,其它的视图都可以从parent view扩展。 用这种方法,可以声明一个默认的视图。 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="welcome" /> </bean> --> </beans>
二、注解的Controller
package com.wy.controller.annotation; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.ServletRequestBindingException; import org.springframework.web.bind.ServletRequestUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.wy.pojo.User; /** * SpringMVC 注解 内置支持 * @author Administrator * */ @Controller @RequestMapping("/entryOrJsonController") public class EntryOrJsonController { private Logger log = Logger.getLogger(EntryOrJsonController.class); /** * 输入为JSON格式的数据的方式 * 1、@RequestBody 将httpRequest的body绑定到方法参数上 * @param param * @return */ @RequestMapping(value = "/annotationParam", method = RequestMethod.POST) public ModelAndView annotationParam(@RequestBody User user){ ModelAndView mav = new ModelAndView(); log.info("============"+user); mav.setViewName("welcome"); return mav; } /** * 输出为JSON格式的数据的方式 * 1、@ResponseBody的作用是把返回值直接写到HTTP response body里 * @param session * @return * @throws ServletRequestBindingException */ @RequestMapping(value = "/commonReturnType" , method = RequestMethod.GET) @ResponseBody public ModelAndView commonReturnType(HttpSession session) throws ServletRequestBindingException{ ModelAndView mav = new ModelAndView(); session.setAttribute("userName", "使用ResponseBody输出!"); log.info("=================使用ResponseBody输出===================="); ModelMap modelMap = new ModelMap(); modelMap.put("mapKey", "mapValue"); modelMap.addAttribute("attributeKey", "attributeValue"); mav.addObject("model", modelMap); mav.addObject("modelMap", modelMap); mav.setViewName("welcome"); return mav; } /** * 输出为JSON格式的数据的方式 * 2、ResponseEntity<?> * @return */ @RequestMapping(value = "/annotationReturnType" , method = RequestMethod.GET) public ResponseEntity<String> annotationReturnType(){ log.info("=================使用ResponseEntity<?>输出===================="); HttpHeaders httpHeaders = new HttpHeaders(); ResponseEntity<String> responseEntity = new ResponseEntity<String>("Hello WY!", httpHeaders, HttpStatus.CREATED); return responseEntity; } /** * 输入 和输出为JSON格式的数据的方式 * 3、HttpEntity<?> ResponseEntity<?> * @param u * @return */ @RequestMapping(value = "/annotationParamsReturn", method = RequestMethod.GET) @ResponseBody public ResponseEntity<String> annotationParamsReturn(HttpEntity<User> user){ String temp = user.getBody().getUsername(); ResponseEntity<String> responseResult = new ResponseEntity<String>(temp, HttpStatus.OK); return responseResult; } /** * * @param request * @param session * @return * @throws ServletRequestBindingException */ @RequestMapping(value = "/login" , method = RequestMethod.GET) public ModelAndView login(HttpServletRequest request, HttpSession session) throws ServletRequestBindingException{ ModelAndView mav = new ModelAndView(); String userName = request.getParameter("userName"); String password = ServletRequestUtils.getStringParameter(request, "password"); log.info("============================\r\n接收到的参数: "+userName+" "+password); session.setAttribute("userName", userName); mav.setViewName("welcome"); return mav; } }
发表评论
-
SpringMVC中内容协商【统一资源多种展现json xml html】
2013-09-12 15:58 3426在我们实际的开发中,往往需要SpringMVC ... -
Spring为某个属性注入值或为某个方法的返回值
2013-08-26 16:02 1490项目中用到需要初始化一些数据,Spring提供了filed的 ... -
SpringMVC 基础知识点小结
2013-08-23 15:26 2269参照:http://zachary-g ... -
使用SpringMVC Restful 开发思考
2013-03-18 14:23 1278一、rest思想 此部分 ... -
Spring MVC Jackson DateFormat
2012-10-14 15:59 2233使用Spring MVC 里的Jackson返回JSON时,遇 ... -
SpringMVC 中文件上传 MultipartResolver
2011-12-17 17:44 55171基于前面文章的基础上。 一、准备 需要的jar ... -
SpringMVC 异常处理初探
2011-12-12 12:18 8240Web应用中对于异常的处理方式与其他形式的应用并没有太大的不同 ... -
SpringMVC 使用JSR-303进行校验 @Valid
2011-12-11 18:04 31562一、准备校验时使用的JAR 说明: ... -
SringMVC 注解标记备忘录
2011-12-10 22:42 2134Spring MVC注解开发中常用标签,如下表: ... -
SpringMVC拦截器简单使用
2011-12-10 22:17 93573基于上一篇文章的基础上 一、拦截器的配置 1、 ... -
SpringMVC生成JSON(二)
2011-12-06 21:24 8278基于上一篇文章的代码基础上 开始Jackson之旅。 一、准 ... -
SpringMVC 生成JSON(一)
2011-12-04 19:37 3311本示例基于前面几篇文章的代码。 一、JSON-lib框 ... -
Spring MVC处理重定向的传参
2011-12-03 21:35 6541一、Spring MVC是如何处理重定向的传参? 现提供一种 ... -
Spring MVC3.0的RESTFul方式的访问
2011-12-03 20:59 1633上一篇以简单介绍了 ... -
SpringMVC之用注解控制器
2011-12-03 19:53 2529在传统的Spring MVC开发方法中,必须在Bean配置 ... -
SpringMVC例子代码小汇总
2011-11-20 11:18 1906一、结构 二、Jar版本及使用jar包 ... -
SpringMVC 拦截器实现分析
2011-11-20 00:10 5393一、Servlet Filter与Spring interce ... -
SpringMVC学习笔记(三) --- 映射处理器(续)
2011-10-07 21:46 1672<?xml version="1.0" ... -
SpringMVC学习笔记(二) --- 后端控制器之MultiActionController(一)
2011-10-07 21:07 2046创建处理多个请求的控制器 根据"每个请求一个 ... -
SpringMVC学习笔记(二) --- 后端控制器之CommandController、 FormController(三)
2011-10-07 16:09 2991另一种表单封装的参数的Controller是AbstractC ...
相关推荐
2. `jackson-core-2.4.2.jar`: Jackson核心库提供了基本的JSON解析和生成功能。它是其他Jackson模块(如databind和annotations)的基础,包含了流式API(JsonParser和JsonGenerator)以及数据绑定的基础结构。 3. `...
在描述中提到的文件"springmvc-json"可能包含了Spring MVC与JSON交互所需的一些依赖,如Jackson库的jar文件。Jackson库由多个组件组成,主要包括: 1. **Jackson-core**: 这是Jackson库的基础模块,提供了基本的...
在本篇博文中,我们将深入探讨如何在SpringMVC框架中生成JSON响应,这是Web开发中的常见需求。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在...
在本文中,我们将深入探讨如何在Spring MVC框架中生成JSON响应。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和客户端之间的数据传输,因其简洁、易读、易解析的特性而受到...
- `jackson-core-2.4.2.jar`:核心库,提供了JSON流API,用于低级别的JSON解析和生成,是Jackson的基础。 - `jackson-annotations-2.4.0.jar`:包含了一组注解,用于定制序列化和反序列化的行为,比如`@...
**IDEA + Gradle + SpringMVC + Json:构建现代Web应用** 在当前快速发展的IT行业中,集成开发环境(IDE)IntelliJ IDEA、构建工具Gradle、MVC框架Spring MVC以及数据交换格式Json,是构建高效、灵活的Java Web应用...
而JSON作为一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,成为数据传输的首选。本文将深入探讨如何在SpringMVC项目中集成并使用JSON库,以实现高效的数据交换。 首先,我们需要了解...
7. **Jackson配置**:Spring MVC允许我们通过`ObjectMapper`的配置来影响JSON的生成,比如设置日期格式、启用或禁用特定特性,或者注册自定义的模块。这可以通过`Jackson2ObjectMapperBuilder`或`WebMvcConfigurer`...
SpringMVC是Spring框架的一部分,专门...总之,Jackson库通过`jackson-databind`、`jackson-core`和`jackson-annotations`这三个jar包,使得SpringMVC能够高效、灵活地处理JSON数据,极大地简化了Web开发中的数据交换。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Spring MVC提供了对JSON的支持,通过集成第三方库如Jackson,可以方便地实现对象到JSON的转换。 ...
在本案例中,"springMVC返回json数据需要的两个架包"指的是`jackson-mapper-asl-1.9.13.jar`和`jackson-core-asl-1.9.13.jar`。 1. Jackson库:这两个jar文件属于Jackson库的一部分,Jackson是Java中广泛使用的JSON...
Jackson核心库是Jackson框架的基础部分,提供了JSON解析和生成的基本功能。它包括了`JsonParser`和`JsonGenerator`接口,分别用于读取和写入JSON数据。此外,它还提供了`JsonNode`抽象类,用于表示JSON结构,以及一...
- 如果你的返回类型是自定义Java对象,那么Jackson会尝试根据对象的属性生成JSON。为此,对象的属性需要有公共getter和setter方法,并且属性名称应与JSON键匹配。 6. **日期格式化**: - 默认情况下,Jackson可能...
3. **JSON数据格式**:JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON格式通常用于前后端交互,因为它可以直接被JavaScript对象表示,减少了...
它包含了解析和生成JSON流的API,是其他Jackson模块(如databind和annotations)的依赖。 3. `jackson-annotations-2.8.7.jar`:这个模块提供了注解,用于增强Jackson库的功能。通过这些注解,开发者可以在Java类或...
2. `jackson-core.jar`: Jackson的基础库,包含JSON解析和生成的低级别API。 3. `jackson-annotations.jar`: 提供了Jackson注解,如`@JsonProperty`,`@JsonInclude`等,用于自定义序列化和反序列化的行为。 4. `...
在前后端交互中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,它轻量级且易于人阅读和编写,同时也方便机器解析和生成。然而,当我们在使用SpringMVC和Ajax进行数据交互时,可能会遇到406错误,这...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Web服务中,JSON常用于服务器向客户端发送数据。SpringMVC支持JSON数据的序列化和反序列化,通过`@...
为了实现JSON和XML视图,SpringMVC依赖于一些第三方库,包括: 1. json-lib:这是一个纯Java的JSON处理库,可以将Java对象转换为JSON字符串,反之亦然。 2. Jackson:Jackson是另一个流行的JSON库,它提供了高效的...
此外,它还提供了基本的JSON节点类型,如ObjectNode、ArrayNode等,以及JsonParser和JsonGenerator,这两个类分别用于解析JSON输入和生成JSON输出。 `jackson-mapper-asl-1.9.11.jar`是Jackson的 ObjectMapper 实现...