標籤:避免 dia exce name property adapter back 2.3 apt
今天自己寫了一個JSON的例子,可以一調用就出了問題,報下面這個異常:
Java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
上網上搜了一下才知道原來在使用JSON的使用的時候,不光要匯入JSON這個包,同時還要匯入另外三個包
總之,共需要下面的 jars,json-lib方可使用:
commons-beanutils-1.7.0.jar
commons-lang-2.1.jar
ezmorph-1.0.2.jar
json-lib-1.1-jdk15.jar
但是又出現如下問題:
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
匯入commons-logging-1.1.1.jar
又出現如下問題:
java.lang.NoClassDefFoundError: Could not initialize class net.sf.json.JSONArray
匯入commons-collections 3.2
Ok
使用json常用到的包有以下六個。
[c-sharp] view plaincopy
- 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這個異常。
Spring MVC使用HttpClient返回json報406錯誤解決辦法1、確保匯入了jackson-core-asl-1.9.13.jar和jackson-mapper-asl-1.9.13.jar包
2、在spring的設定檔中加入<mvc:annotation-driven />這句,它提供了讀取jason的支援
3、使用springMVC的@ResponseBody註解@responsebody表示該方法的返回結果直接寫入HTTP response body中
一般在非同步擷取資料時使用,在使用@RequestMapping後,傳回值通常解析為跳轉路徑,加上@responsebody後返回結果不會被解析為跳轉路徑,而是直接寫入HTTP response body中。比如非同步擷取json資料,加上@responsebody後,會直接返回json資料。
4、在以上配置都正確的情況下,我的項目還是不能返回json串。報錯:The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ()。
今天終於在一個外文網站找到答案,是由於spring版本的問題引起的。我之前一直用的是3.0.0的版本。就是因為這個版本的問題。於是果斷去官網下載3.2版本的,一切正常運行,成功返回json資料。 spring mvc 避免IE執行AJAX時,返回JSON出現下載檔案
<!-- 避免IE執行AJAX時,返回JSON出現下載檔案 -->
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 啟動spring MVC的註解功能,完成請求和註解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter" /><!-- json轉換器 -->
</list>
</property>
</bean>
去掉 <mvc:annotation-driven/>
使用JSON資料報錯和方法