求助啊,lol一直弹出错误报告报MappingJacksonHttpMessageConverter错误

11596人阅读
Spring(3)
第一步:创建CustomObjectMapper类/**
* 解决SpringMVC使用@ResponseBody返回json时,日期格式默认显示为时间戳的问题。需配合&mvc:message-converters&使用
* @author hellostory
下午04:17:52
@Component(&customObjectMapper&)
public class CustomObjectMapper extends ObjectMapper {
public CustomObjectMapper() {
CustomSerializerFactory factory = new CustomSerializerFactory();
factory.addGenericMapping(Date.class, new JsonSerializer&Date&() {
public void serialize(Date value, JsonGenerator jsonGenerator,
SerializerProvider provider) throws IOException, JsonProcessingException {
SimpleDateFormat sdf = new SimpleDateFormat(&yyyy-MM-dd HH:mm:ss&);
jsonGenerator.writeString(sdf.format(value));
this.setSerializerFactory(factory);
第二步:配置如下:
&mvc:annotation-driven&
&mvc:message-converters&
&bean class=&org.springframework.http.converter.json.MappingJacksonHttpMessageConverter&&
&property name=&objectMapper& ref=&customObjectMapper&&&/property&
&/mvc:message-converters&
&/mvc:annotation-driven&
效果如下:
格式化前:
格式化后:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:656548次
积分:4996
积分:4996
排名:第5981名
原创:57篇
评论:59条
(1)(1)(1)(1)(2)(2)(2)(2)(1)(2)(1)(2)(4)(1)(2)(4)(5)(9)(1)(2)(1)(1)(1)(1)(1)(2)(1)(4)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'配置Spring支持自动Json格式数据转换_Linux编程_Linux公社-Linux系统门户网站
你好,游客
配置Spring支持自动Json格式数据转换
来源:Linux社区&
作者:meiwen1111
从Spring3.1之后,开始推荐使用RequestMappingHandlerMapping和RequestMappingHandlerAdapter来进行方法映射,在controller里支持使用@RequestBody注解 (从2.5开始应该就支持的)&要使用Spring提供的自动将requestbody里的json字符串的entity 转换为对应的对象实例,需要增加messageconverter,默认没有MappingJackson2HttpMessageConverter&&serveletname&-servlet.xml 配置:
&&!-- ②:启动Spring MVC的注解功能,完成请求和注解POJO的映射 --&&&bean& class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"&&&/bean&&&bean& class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"&& &property name="messageConverters"&& &&list&& & &bean& & &class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" /&& &&/list&& &/property&&&/bean&
并添加依赖的包:
jackson-annotations-2.0.5.jar
jackson-databind-2.0.5.jar
jackson-core-2.0.5.jar
下载地址:
以上是jackson最新的三个包,一个不能少,原来的1.x版本只有两个包 (如:jackson-core-asl-1.5.6.jar jackson-mapper-asl-1.5.6.jar)
Controller里面的方法:
& & @RequestMapping(value = "/db/addUser.do", method = RequestMethod.POST)& & @ResponseBody& & public String addUser(@RequestBody User user) {& & & & (user.toString());& & & & return "success";& & }
用apache的 HttpClient包测试:
& & & & HttpPost post = new HttpPost(URL);& & & & // 向服务器写json& & & & StringEntity se = new StringEntity(user, Consts.UTF_8);& & & & se.setContentEncoding(new BasicHeader(HTTP.CONTENT_ENCODING, Consts.UTF_8.toString()));& & & & se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/charset=UTF-8"));& & & & post.setEntity(se);& & & & // post.addHeader(HTTP.CONTENT_TYPE, "application/charset=UTF-8");& & & & DefaultHttpClient client = new DefaultHttpClient();
& & & & try {& & & & & & HttpResponse response = client.execute(post);& & & & & & System.out.println(response.getStatusLine().toString());
& & & & } catch (ClientProtocolException e) {& & & & & & e.printStackTrace();& & & & & & post.abort();& & & & } catch (IOException e) {& & & & & & e.printStackTrace();& & & & & & post.abort();& & & & }
Spring 的详细介绍:Spring 的下载地址:
相关阅读:
Spring中如何配置Hibernate事务
Struts2整合Spring方法及原理
基于 Spring 设计并实现 RESTful Web Services
Spring-3.2.4 + Quartz-2.2.0集成实例
使用 Spring 进行单元测试
运用Spring注解实现Netty服务器端UDP应用程序
Spring 3.x 企业应用开发实战 PDF完整高清扫描版+源代码
相关资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款你的位置:
ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
在搭建Spring + Spring MVC + Mybatis项目部署的时候报以下错误:
Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] for bean with name 'mappingJacksonHttpMessageConverter' defined in class path resource [spring-mvc.xml]
java.lang.ClassNotFoundException,很显然是有未引用的类
在上查找该jar包,得到如下提示信息
Note: This artifact was moved to:
New Group com.fasterxml.jackson.core
New Artifact jackson-databind
也就是说jackson-mapper-asl移到了com.fasterxml.jackson.core下
因为我的是maven项目,自动下载的,项目移动了,肯定就下载不到了,所以会报错,找到原因,那么就是改代码了
在pom.xml中去掉jackson-mapper-asl的引用代码
新增以下代码
com.fasterxml.jackson.corejackson-core2.6.3com.fasterxml.jackson.corejackson-databind2.6.3com.fasterxml.jackson.corejackson-annotations2.6.3
同时修改spring-mvc.xml中的代码
把MappingJacksonHttpMessageConverter改成MappingJackson2HttpMessageConverter,像下面那样
text/charset=UTF-8
这样就解决ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter的问题了本帖子已过去太久远了,不再提供回复功能。解决spring4&x中的MappingJacksonHttpMessageConverter错误
在spring4.x中请用org.springframework.http.converter.json.MappingJackson2HttpMessageConverter代替。
并将maven依赖改成如下:
&dependency&
&groupId&com.fasterxml.jackson.core&/groupId&
&artifactId&jackson-core&/artifactId&
&version&2.5.1&/version&
&/dependency&
&dependency&
&groupId&com.fasterxml.jackson.core&/groupId&
&artifactId&jackson-databind&/artifactId&
&version&2.5.1&/version&
&/dependency&
我们用7-zip去查看spring-web-version.jar,确实已找不到MappingJacksonHttpMessageConverter这个class了。
人气:3178
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.059 (s). 13 q(s)

我要回帖

更多关于 剑三一直错误报告 的文章

 

随机推荐