1.背景
最近在自学java中的三大框架 ssm,在 springmvc 与 mybatis 整合过程中用到 json 数据交互。因为看的视频的是比较早的嘛,一些配置、jar包什么的,要么跟 jdk 版本不匹配,要么视频里讲的已经过时了,要么就是叫不上名字来的各种错误(相信在坐的自学者们都深有体会)。所以还得靠自己慢慢细心的查漏补缺。好,话不多说,放出我遇到的问题,以及解决办法。
2.环境
1). MyEclipse 2014
2). jdk 1.8
3). spring-framework-4.2.4.RELEASE-dist
4). mybatis 3.2.7
报错如图:
3. 场景:
当访问使用 ajax 或其他使用到 json 转换器技术(@RequestBody 、@ResponseBody)时
4. 原因:
出现上面报错主要是 jar 包 和 springmvc.xml中配置问题。
5. 解决
1)jar包
* 我用的是 2.8.1 的版本,三个都要下载
* 普及一下,相关博客了解到:spring4.x的jackson,jar包要2.6版本以上。
* 教程给的是 jackson-core-asl-1.9.11.jar 和 jackson-mapper-asl-1.9.11.jar。而我当时因为另一个bug 了解到,spring 3.X版本支持到java7
spring 4.X版本支持Java8最低支持到Java6 。而我当时的 jdk 1.8 ,所以我把本是 spring3.2 换成了 spring 4.2。如今,知道真相的我眼泪掉下来啊。呜呜~(不过事实也证明啊,bug出的多,见识也张的多啊。在这里还得感谢各博主的详尽解答)
这里送上福利(转载):Jackson 官网最新资源全版本下载地址 免费 目前最新为2.9.9
2)springmvc.xml 配置
* 当时教程里讲两种一种是单独在 处理器适配器 中配置;一种是 <mvc:annotation-driven /> 不写其他的,使用默认配置。我使用了第二种,因为懒得写第一种。而后。。。。。。就噼里啪啦的报错了。
* 事实证明自学是场孤独的旅程,当没有明确的人能给你指导正确的答案时,我们得自己深挖力掘为这个问题给自己找到一个正确的解答。
*** 日常记录报错笔记,帮助遇到同样问题的伙伴们,也给自己长记性。