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数据转换,异常信息的获取需要靠它,代码中加入如下部分:

 1 /**
 2      * 查询题库所有记录
 3      * @param req
 4      * @param model
 5      * @return
 6      */
 7     @RequestMapping
 8     @ResponseBody
 9     public Map<String, Object> getAllRecord(HttpServletRequest req,
10             ModelMap model) {
11         List<QuestionWh> allQuestions = questionWHService.selectAllQuestionWH();
12         model.put("aaData",allQuestions);
13         model.put("iTotalRecords",allQuestions.size());
14         model.put("iTotalDisplayRecords",allQuestions.size());
15
16         // 测试返回对象的Jackson json转换
17         ObjectMapper om = new ObjectMapper();
18         try {
19             om.writeValueAsString(allQuestions);
20         } catch (JsonGenerationException e) {
21             e.printStackTrace();
22         } catch (JsonMappingException e) {
23             e.printStackTrace();
24         } catch (IOException e) {
25             e.printStackTrace();
26         }
27
28         return model;
29     }

顺利的打出了异常信息,如下:

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"])

异常找到,解决就很简单了。

时间: 2024-11-10 08:45:03

SpringMVC3中返回json字符串时500 Internal Server Error的处理方案的相关文章

python urllib2导出elasticsearch数据时 返回 &quot;urllib2.HTTPError: HTTP Error 500: Internal Server Error&quot;

0.业务场景 将ES中某个index的某个字段的所有数据,导出到文件中 1.ES数据导出方法简述 ES数据导出方法,我主要找到了以下几个方面,欢迎大家补充: ES官方API:snapshot and restore module The snapshot and restore module allows to create snapshots of individual indices or an entire cluster into a remote repository like sha

在使用pydelicious时出现HTTP Error 500: Internal Server Error的错误的解决方法:

问题:在学习<集体智慧编程>的过程中,第二章中如果你遇到了pydelicious.PyDeliciousException: HTTP Error 500: Internal Server Error这样的错误具体的 解决方法我是在stack overflow上找到的,原文链接分为两个部分 http://stackoverflow.com/questions/29543799/pydelicious-get-popularprogramming- doesnt-return-any-valid

使用Windows Live Writer发布CSDN博客出现500 Internal Server Error

今天按照<公告:CSDN博客频道支持Windows Live Writer离线写博客啦>学着使用Windows Live Writer写CSDN博客,结果碰到了评论中的500 Internal Server Error. 我在进行第三步"设置日志的远程发布网址,填写http://write.blog.csdn.net/xmlrpc/index "时(见上图)发生错误500 Internal Server Error.根据管理员先前的回复,这里出错的原因可能是用户名或密码错误

EBS Webservice Timeout,HTTP Server Return &quot;500 Internal Server Error&quot;

http://blog.itpub.net/26687597/viewspace-1207571/ 基于Oracle EBS R12,开发了一个Webservice用于返回某项主数据,当请求的数据量非常大的时候(大于6000行的数据量),Oracle应用服务器总是给返回一个500 Internal Server Error.请求数据量小的时候,Webservice运行没有问题,能够正常返回请求数据. 客户端接到的报错: <!DOCTYPE HTML PUBLIC "-//IETF//DTD

HTTP Status 500 ? Internal Server Error

getWriter()和getOutputStream()不能同时调用 HTTP Status 500 ? Internal Server Error Type Exception Report Message getWriter() has already been called for this response Description The server encountered an unexpected condition that prevented it from fulfilli

安装Destoon系统出现500 Internal Server Error错误的原因

当我们初次安装Destoon B2B网站管理系统出现"500 Internal Server Error"错误,其原因有一下几点: 解决办法一.删除根目录下.htaccess文件,如果无效,请尝试方法二: 解决办法二.对于Liunx/Unix服务器,如果不支持0777属性,可修改 根目录config.inc.php $CFG['file_mod'] = 0777; 为 $CFG['file_mod'] = 0755 ; 然后,FTP修改已经被系统自动修改为0777属性的目录和文件为07

解决方案:安装wordpress出现500 Internal Server Error

做一个资讯站点的时候遇到一个wordpress不知道算不算常见的问题:程序安装的时候提示500 Internal Server Error 那么最终百度谷歌找到以下解决方案: 安装新版本wordpress出现500 Internal Server Error的问题: 在./wp-includes/class-http.php的291行,改成 $request_order = apply_filters( 'http_api_transports', array( 'streams' ), $ar

Tomcat 提示 HTTP Status 500 – Internal Server ErrorTomcat 提示 HTTP Status 500 – Internal Server Error

错误信息: 1 HTTP Status 500 – Internal Server Error 2 Type Exception Report 3 4 Message Error instantiating servlet class [Servlet.BeerSelect] 5 6 Description The server encountered an unexpected condition that prevented it from fulfilling the request. 7

[nginx]nginx的一个奇葩问题 500 Internal Server Error phpstudy2018

[nginx]nginx的一个奇葩问题 500 Internal Server Error 解决方案 nginx 一直报500 Internal Server Error 错误,配置是通过phpstudy2018站点域名管理生成的. 默认是  root   "D:\php\phpstudy\PHPTutorial\WWW\foxphp"; 修改成这样就好了 root   "D:\\php\\phpstudy\\PHPTutorial\\WWW\\foxphp"; 查