1. 程式人生 > >學習SSH中遇到的問題總結

學習SSH中遇到的問題總結

1、使用Hibernate的時候,想讓Hiberante根據domain object物件生成對應的資料庫表,配置hibernate.cfg.xml中的屬性hbm2ddl.auto為update,執行之後,沒有生成對應的資料庫表同時沒有提示錯誤。

解決方法:因為之前的domain object是根據資料庫表自動生成,在<class/>中有個屬性catalog="hibernate",hibernate為當時我建的資料庫,而我在新專案中新建了一個數據庫為school,jdbc:mysql://127.0.0.1:3306/school?useUnicode=true&amp;characterEncoding=UTF-8,連個資料庫不一樣,導致表建立不成功,去掉catalog="hibernate"之後,資料庫表建立成功。

2、在使用OSCache的時候,會報Caused by: java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory的錯誤,原因是OSCache用到了log4j,匯入MyEclipse中的Hibernate Capabilities也沒有用,原因是還差一個jar包,common-logging.jar。

3、在使用Junit4對struts2的action進行測試時,丟擲Caused by: java.lang.ClassNotFoundException: userAction這個錯誤。

對spring和struts2集進行測試時,test用例必須繼承StrutsSpringTestCase類,並且需要有檔名為applicationContext.xml的配置檔案,因為預設是載入這個檔案的,如果沒有會報Caused by: java.lang.ClassNotFoundException: userAction這個錯誤。

還有一種方法是通過覆蓋父類中的protected java.lang.String getContextLocations()來指定你的配置檔案。