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

          常用鏈接

          留言簿(2)

          隨筆分類

          文章分類

          好友

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

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

          java常見的錯誤異常:

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

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

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

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

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

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

          2、org.springframework.beans.NotWritablePropertyException: Invalid property 'userDao' of bean class
          錯誤原因:是在spring-config.xml中property name的錯誤。
          <property name="...."> 中name的名字是與bean的set方法相關的,而且要注意大小寫。
          例:
          在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里就必須要有對應的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里已經有一個antlr.jar的版本了,導致Hibernate里的antlj.jar不能找到。(網上獲知)
          解決方法:
          ( 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中已經把ELException類包括進去了,而weblogic8.X里的是JSP1.2,JSTL1.1里也并沒有這個包。
          解決方法:
          ( 1?) 下載jstl1.0,然后修改web.xml
          ??這樣一來換引起了一個附帶問題:jstl1.0中沒有fn:這個taglib,所有用到fn:的地方必須用jsp來重寫。
          ( 2?) 改用支持JSP2.0的服務器,tomcat5或weblogic9
          posted on 2006-04-30 14:47 badboy 閱讀(1196) 評論(0)  編輯  收藏 所屬分類: 開發經驗

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


          網站導航:
           
          主站蜘蛛池模板: 安西县| 历史| 通化市| 兴国县| 拜泉县| 冀州市| 南宁市| 黄龙县| 福安市| 分宜县| 昆山市| 石城县| 公主岭市| 钟祥市| 竹山县| 凤台县| 合肥市| 襄垣县| 塔城市| 耿马| 建水县| 十堰市| 廊坊市| 南澳县| 霍林郭勒市| 苏尼特左旗| 太仆寺旗| 阜城县| 云梦县| 临潭县| 梅河口市| 武功县| 娄烦县| 阜阳市| 桓台县| 衡东县| 松滋市| 邹城市| 长顺县| 宝鸡市| 夹江县|