tomcat7.0环境下解析jsonArray时页面显示空白页,后台无报错

来源:互联网 发布:django 遍历数组前五个 编辑:程序博客网 时间:2024/06/15 23:38

分析:
1、页面显示空白页很有可能是js加载的问题,但是此种情况通过debug模式可以了解到页面点击“快速报价”按钮时已经进入后台,排除此种可能性;
2.通过后台debug模式发现是jsonArray.fromObject();这句抛出异常,但是tomcat没有抛出异常信息,需要建立test方法才能看到异常信息描述。如下:
错误描述:java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOrderedMap
测试代码(如下):

public static void main(String[] args) {            ProductBenefitKindNameAndPlanName aaa = new ProductBenefitKindNameAndPlanName();            aaa.setKindCname1("kindCname1");            aaa.setKindCname2("kindCname2");            aaa.setKindCname3("kindCname3");            aaa.setKindCname4("kindCname4");            aaa.setKindCname5("kindCname5");            aaa.setKindCname6("kindCname6");            aaa.setPlanCName1("planCName1");            aaa.setPlanCName2("planCName2");            aaa.setPlanCName3("planCName3");            JSONObject jsonObject = JSONObject.fromObject(aaa);            System.out.println("jsonObject---------------->"+jsonObject);            JSONArray jsonArray = JSONArray.fromObject(aaa);            System.out.println("jsonArray---------------->"+jsonArray);        }   

做json测试时,但是发现报错,具体错误为

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap  at net.sf.json.JSONObject.<init>(JSONObject.java:1529)  at net.sf.json.util.CycleDetectionStrategy.<clinit>(CycleDetectionStrategy.java:37)  at net.sf.json.JsonConfig.<clinit>(JsonConfig.java:58)  at net.sf.json.JSONArray.fromObject(JSONArray.java:127)  at JsonTest.main(JsonTest.java:8)  Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.ListOrderedMap  at java.net.URLClassLoader$1.run(URLClassLoader.java:200)  at java.security.AccessController.doPrivileged(Native Method)  at java.net.URLClassLoader.findClass(URLClassLoader.java:188)  at java.lang.ClassLoader.loadClass(ClassLoader.java:307)  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)  at java.lang.ClassLoader.loadClass(ClassLoader.java:252)  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)  ... 5 more  

后来查了一下发现是包有错,使用json常用到的包有以下六个。

commons-logging-1.0.4.jar  commons-lang-2.3.jar  commons-collections-3.2.jar  commons-beanutils-1.7.0.jar  json-lib-2.2.1-jdk15.jar  ezmorph-1.0.4.jar

另外如果commons-collections-3.2.jar没有或版本不对的话会出现org/apache/commons/collections/map/ListOrderedMap这个异常。

0 0
原创粉丝点击