使用SSH過程中遇到的幾個問題及解決方案


一、HTTP Status 500 - org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

解決辦法:

主鍵提前刪除了,放到語句后面就沒事了

參考:

http://blog.csdn.net/ssyan/article/details/7471343

 

二、java.lang.OutOfMemoryError: Java heap space解決方法

解決方法:

引起java.lang.OutOfMemoryError: Java heap space異常,可能是由JAVA的堆棧設置太小的原因

根據網上的答案大致有以下兩種解決方法:

1、在D:/apache-tomcat-6.0.18/bin/catalina.bat最前面加入:set JAVA_OPTS=-Xms384m -Xmx384m

注意:只有startup.bat啟動tomcat,設置才能生效,如果利用windows的系統服務啟動tomcat服務,上面的設置就不生效了,
就是說set JAVA_OPTS=-Xms384m -Xmx384m沒起作用             

2、在Eclilpse中修改啟動參數,在VM arguments 加入了-Xms384m -Xmx384m,設置如下圖所示

                       

問題解決。

不過發現最后還是會出現內存不足的情況,只能每次運行都重啟tomcat.問題解決,就是有點耗時。 

參考:

http://www.cnblogs.com/linjiqin/archive/2011/04/27/2030115.html

 

三、 java.lang.NullPointerException

解決方法:

NullPointerException異常的原因?? 
    所謂空指針異常,是因為用空(null)去調用屬性或方法。 
  null表示沒有這個對象,既然沒有這個對象,那么去調用他的屬性和方法,就會報異常。 
  <--主要有以下幾種原因: 
  1、使用了未初始化的變量(雖然已經聲明) 
  2、使用了未初始化的對象(雖然已經聲明) 
  3、使用了關鍵字或已存在的類名作變量對象方法或類名。 
  當應用程序試圖在需要對象的地方使用 null 時,拋出該異常。 
  <--這種情況包括: 
  調用 null對象的實例方法。 
  訪問或修改null對象的字段。 
  將null作為一個數組,獲得其長度。 
  將null作為一個數組,訪問或修改其時間片。 
  將null作為Throwable值拋出。

四、網頁報錯:HTTP Status 500 - org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: could not insert: [com.zrdm.domain.Votecontext]

服務器報錯:Servlet.service() for servlet [default] in context with path [/votesystem] threw exception [org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.GenericJDBCException: could not execute query] with root cause java.sql.SQLException: Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'

解決辦法:

編碼問題不統一造成的。本項目采用的是UTF-8編碼,但是里面混雜了GBK編碼。所以造成這個問題。查找項目中所有gbk關鍵字,然后改為UTF-8,解決問題。

 

五、Referenced file contains errors (http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd)

解決辦法:

以后struts2的校驗器的規范要改成: 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

參考:http://blog.csdn.net/happyjiahan/article/details/6535793

 

六、action重復調用

問題:使用<s:action>標簽,jsp加載時自動執行action,發生數據不斷循環重復

原因:為定義了兩個相同方法但不同名的action。

解決辦法:更換思路http://www.cnblogs.com/HeroZearin/articles/2729987.html

參考:http://blog.sina.com.cn/s/blog_451f5962010150um.html

 

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM