SpringMVC3中返回json字符串时500 Internal Server Error的处理方案
搭建 Spring3+MyBatis+Rest+BootStrap+JBPM项目环境后,测试发现了一个操蛋的问题。
使用Spring MVC的自动类型转换为JSON时,后台数据List/Map获取完全正常,可是JS获取data报500错误。
后台无任何异常信息。
问题解决思路:
后台数据操作正常,数据返回前端时候异常,问题集中在Spring的jackson json转换上。
而Spring用了第三方的Jackson Json数据转换,异常信息的获取需要靠它,代码中加入如下部分:
/**
* 查询题库所有记录
* @param req
* @param model
* @return
*/
@RequestMapping
@ResponseBody
public Map<String, Object> getAllRecord(HttpServletRequest req,
ModelMap model) {
List<QuestionWh> allQuestions = questionWHService.selectAllQuestionWH();
model.put("aaData",allQuestions);
model.put("iTotalRecords",allQuestions.size());
model.put("iTotalDisplayRecords",allQuestions.size()); // 测试返回对象的Jackson json转换
ObjectMapper om = new ObjectMapper();
try {
om.writeValueAsString(allQuestions);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} return model;
}
顺利的打出了异常信息,如下:
org.codehaus.jackson.map.JsonMappingException: No serializer found for class java.io.ByteArrayInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: java.util.ArrayList[0]->java.util.HashMap["CREATETIME"]->oracle.sql.TIMESTAMP["stream"])
异常找到,解决就很简单了。
SpringMVC3中返回json字符串时500 Internal Server Error的处理方案的更多相关文章
- python urllib2导出elasticsearch数据时 返回 "urllib2.HTTPError: HTTP Error 500: Internal Server Error"
0.业务场景 将ES中某个index的某个字段的所有数据,导出到文件中 1.ES数据导出方法简述 ES数据导出方法,我主要找到了以下几个方面,欢迎大家补充: ES官方API:snapshot and ...
- 在使用pydelicious时出现HTTP Error 500: Internal Server Error的错误的解决方法:
问题:在学习<集体智慧编程>的过程中,第二章中如果你遇到了pydelicious.PyDeliciousException: HTTP Error 500: Internal Server ...
- 记一次错误 POST http://127.0.0.1:8000/auth/signup/ 500 (Internal Server Error)
错误环境: 1,ajax 发送 post 请求调用 views 的视图 xfzajax.post({ 'url': '/xfzauth/signup/', 'data': { 'telephone': ...
- 调用 WebService 浏览器提示 500 (Internal Server Error) 的原因及解决办法
在 ASP.NET 开发中,WebService部署成站点之后,如果在本地测试WebService可以运行,在远程却显示“测试窗体只能用于来自本地计算机的请求”或 者"The test fo ...
- POST 500 Internal Server Error
今天调试公司web后台时发现一个POST 500 Internal Server Error的错误. 本来VS本地调试没有发现这个问题,然后发布到服务器时才出现了.然后找了好久没找到什么原因,再仔细在 ...
- nginx提示:500 Internal Server Error错误的解决方法
现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 ...
- 【转】nginx提示:500 Internal Server Error错误的解决方法
本文转自:http://www.jb51.net/article/35675.htm 现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和 ...
- 500 : Internal Server Error(jupyter)
如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10739036.html 一.报错 jupyter notebook能打开目录页,但是 ...
- EBS Webservice Timeout,HTTP Server Return "500 Internal Server Error"
http://blog.itpub.net/26687597/viewspace-1207571/ 基于Oracle EBS R12,开发了一个Webservice用于返回某项主数据,当请求的数据量非 ...
随机推荐
- Nginx的验证、启动、停止、重启
验证 验证nginx配置文件是否正确,进入sbin目录,输入以下命令: ./nginx -t 启动 进入sbin目录,输入以下命令: ./nginx -c /home/mppay/nginx/con ...
- 垃圾收集GC
一.引用计数法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不能再被使用的.引用计数法实现简单,判定效率也很高,但是它很 ...
- set学习(系统的学习)
set是STL中一种标准关联容器.它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高.set,顾名思义是“集合”的意思,在set中 ...
- PlayMaker 操作界面超级详细介绍
原文:https://www.indienova.com/u/christiantam/blogread/1214
- [Silverlight]调用外部可执行程序
public void InvokeExternalExecutableApp() { if (Application.Current.HasElevatedPermissions) {using ( ...
- Map集合练习之对字符串中字母出现的次数求和
不多说,直接上干货! 代码需求 如有这么一个字符串 String str = "fdg+avAdc bs5dDa9c-dfs"; MapTest.java package zhou ...
- dos文件格式转换为Unix文件格式
做linux开发的,一般还是在windows上装个虚拟机,在windows上开发, 所以就会出现dos文件与unix文件格式不一致,当windows上的文件在linux上用的时候,经常在每行的末尾会出 ...
- 用Java 8 Lambda表达式实现设计模式:命令模式
在这篇博客里,我将说明如何在使用 Java 8 Lambda表达式 的函数式编程方式 时实现 命令 设计模式 .命令模式的目标是将请求封装成一个对象,从对客户端的不同类型请求,例如队列或日志请求参数化 ...
- Visual Studio 要求导入 pfx 密钥以及导入后依然要求导入的解决办法
本文为个人博客备份文章,原文地址: http://validvoid.net/visual-studio-pfx-import/ 导入密钥 在使用 Visual Studio 生产项目时,使用 pfx ...
- Hibernate课程 初探一对多映射5-3 Eclipse根据表反向生成实体类
1 配置 项目右击==>properties==>project facets==>convert to faceted form...复选框选中java 和 jpa==>fu ...