1、引用json-lib.jar来处理json格式时出现各种问题,经过解决得知是包有错,使用json常用到的包有以下六个:
1 commons-logging-1.0.4.jar 2 commons-lang-2.3.jar 3 commons-collections-3.2.jar 4 commons-beanutils-1.7.0.jar 5 json-lib-2.2.1-jdk15.jar 6 ezmorph-1.0.4.jar
2、我jdbc访问数据库的程序写了这样一个语句(在一个循环执行insert语句中) resultFlag = resultFlag&&stmt.execute(sql); 本以为如果结果为true(当然resultFlag 的初值赋值为true了),则表明每次插入语句stmt.execute(sql)成功执行了。但事实不是这样,只有第一个stmt.execute(sql)执行了,其他的都没执行。经过跟踪才知道原来stmt.execute(sql)的返回值是false,并不是我以为的true.所以第一个执行后resultFlag 已经为false了,后边几次stmt.execute(sql)当然就不执行了(&&的短路规则)。
经过查资料,果然是自己弄错了。execute的返回值(Boolean)的说明是这样的:若返回一个结果集,则该方法返回true;反之,返回false。注意,返回的true和false并不代表是否成功执行。
3、前后台交互数据用的json格式,本来数据库中是中文的数据,但是传到前端变成了乱码,后来加上response.setContentType("text/xml;charset=UTF-8");这一句就好了,即将编码设为utf-8.
4、jdbc访问数据库,查询得到resultSet放进JSONObject中报错:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
解决:不能将ResultSet放进JSONObject中。后来就不用JSONObject了,改用Map了。