隨筆 - 6  文章 - 0  trackbacks - 0
          <2006年4月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(2)

          隨筆分類

          文章分類

          好友

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          每個程序員在開發(fā)項目的過程中都會碰到或多或少的錯誤異常,我在這里會記錄一些常碰到的異常和處理方法,每碰到一個都會到這里來更新一下,希望大家也能幫我解決一下問題,小弟在此先謝過了。

          java常見的錯誤異常:

          1、java.lang.NullPointerException
          錯誤原因:很明顯是由于空值造成的。問題出現(xiàn)于很多方面,唯有具體情況具體分析了。
          解決方法:細心分析,多判斷傳的參數(shù)據(jù)是否為空;

          2、java.lang.NumberFormatException
          錯誤原因:由于為空或不能轉(zhuǎn)化為數(shù)值類型時引起的異常。
          解決方法:轉(zhuǎn)換前判斷是否為空,能否轉(zhuǎn)成數(shù)值類型。

          2、java.lang.NoClassDefFoundError
          錯誤原因:通常這個異常是由于沒有找到相應(yīng)的jar包而引起的,因為有時候IDE并沒有把你的jar包引入,雖然你明明在項目里配置了這個包,但你的lib里卻是沒有的。
          解決方法:將相應(yīng)的包復(fù)制到lib里去。

          Struts,Hibernate,Spring中常見的異常:

          1、java.io.FileNotFoundException: Could not open class path resource [user.hbm.xml]

          錯誤原因:沒有找到hibernate mapping resource的映射文件,該xml文件沒有在classpath中,這里的hbm.xml文件名和路徑一定要注意大小寫,不然就會出現(xiàn)這個錯誤。還有在用JB開發(fā)時,resource里的xml文件要勾copy,這樣編譯的時候才會把xml文件copy到classpath里去。
          解決方法:把對應(yīng)的xml文件copy到classpath相應(yīng)的目錄。

          2、org.springframework.beans.NotWritablePropertyException: Invalid property 'userDao' of bean class
          錯誤原因:是在spring-config.xml中property name的錯誤。
          <property name="...."> 中name的名字是與bean的set方法相關(guān)的,而且要注意大小寫。
          例:
          在spring-config.xml里配置了一個bean
          ? <bean id="mySystemManagerFacadeTarget" class="com.site.system.domain.impl.SystemManagerImpl">
          ??<property name="userDao">
          ???<ref bean="myUserDao"/>
          ??</property>
          ??<property name="roleDao">
          ???<ref bean="myRoleDao"/>
          ??</property>
          ? </bean>
          則SystemManagerImpl里就必須要有對應(yīng)的set方法
          ? private UserDao userDao;

          ? private RoleDao roleDao;

          ? /**
          ?? * set the value of dao
          ?? */
          ? public void setUserDao(UserDao userDao) {
          ??? this.userDao = userDao;
          ? }
          ? public void setRoleDao(RoleDao roleDao){
          ??? this.roleDao = roleDao;
          ? }

          解決方法:細心分析整個流程,

          3、CharScanner; panic: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
          錯誤原因:把有hibernate3的項目部署到WebLogic里,WebLogic里已經(jīng)有一個antlr.jar的版本了,導(dǎo)致Hibernate里的antlj.jar不能找到。(網(wǎng)上獲知)
          解決方法:
          ( 1 ) 在hibernate.properties上,或是在spring的conext xml中,加上一個
          <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>(不推薦,原因請看我這里的Hibernate2.1升級到Hibernate3.0 )
          ( 2 ) 將antlr-2.7.5H3.jar這個包加入到weblogic里,注意要加在開頭。(推薦)?

          4、java.lang.NoClassDefFoundError:?javax/servlet/jsp/el/ELException

          錯誤原因:weblogic8.X版本里用到JSTL1.1的項目,weblogic8.X不支持JSP2.0,因為jsp2.0中已經(jīng)把ELException類包括進去了,而weblogic8.X里的是JSP1.2,JSTL1.1里也并沒有這個包。
          解決方法:
          ( 1?) 下載jstl1.0,然后修改web.xml
          ??這樣一來換引起了一個附帶問題:jstl1.0中沒有fn:這個taglib,所有用到fn:的地方必須用jsp來重寫。
          ( 2?) 改用支持JSP2.0的服務(wù)器,tomcat5或weblogic9
          posted on 2006-04-30 14:47 badboy 閱讀(1195) 評論(0)  編輯  收藏 所屬分類: 開發(fā)經(jīng)驗

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 三门峡市| 湟中县| 海口市| 罗城| 灵石县| 桑植县| 秀山| 鞍山市| 松滋市| 永州市| 平江县| 四川省| 巫溪县| 永登县| 泸水县| 孝感市| 新巴尔虎左旗| 镇沅| 策勒县| 灵寿县| 百色市| 陇西县| 天全县| 北安市| 西和县| 团风县| 察哈| 河南省| 彰化县| 武宁县| 海淀区| 东安县| 会泽县| 玉龙| 阳城县| 金坛市| 禹州市| 崇信县| 佛学| 西乌珠穆沁旗| 那坡县|