struts2.1 + Spring 3.X + hibernate3.X架构搭建问题记录

目前正在试图搭建一个SSH的架构,之前在 myeclipse8.6 + ssh(struts2.1,spring2.5,hibernate3) + mysql + tomcat6.0 做过例子,当时有老师带着,遇到问题也都解决了。而且,自己练习单表的增删改查时也能独立完成了。但是现在换成了myeclipse2014 + orcle 后,就是通不过去,郁闷中:

现在想一遍解决一遍把问题记录在这里,以备后查:

 

1,新建一个web project 项目后,只要把spring 和 hibernate 加载之后,部署完毕,启动tomcat就有错误,提示:

 

731  [main] ERROR org.hibernate.util.JDBCExceptionReporter  - Cannot create JDBC driver of class '' for connect URL 'jdbc:oracle:thin:@ORADB01.CCCAR.COM.CN:1521:orac'
732  [main] WARN  org.hibernate.cfg.SettingsFactory  - Could not obtain connection to query metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'jdbc:oracle:thin:@ORADB01.CCCAR.COM.CN:1521:orac'

 at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
 at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
 

最后发现是配置文件:applicationContext.xml  中 的 dataSource 的bean 少配置了一个属性:driverClassName, 配置该属性后,不再提示如上的错误。

 


 <bean id="dataSource"
     class="org.apache.commons.dbcp.BasicDataSource">
     <property name="driverClassName"
   value="oracle.jdbc.driver.OracleDriver">
  </property>
  <property name="url"
   value="jdbc:oracle:thin:@192.168.30.130:1521:capp2010">
  </property>
  <property name="username" value="sapnbgl"></property>
  <property name="password" value="sapnbgl"></property>
 </bean>

 

 

2.  启动tomcat提示 不支持 Oracle9Dialect 的问题

 

修改了applicationContext.xml 中的相关配置,

 

 

<property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">
     org.hibernate.dialect.Oracle9iDialect
    </prop>
   </props>
  </property>

 该错误消失。

 

3.但是又有了新的错误:

 

1585 [main] WARN  org.hibernate.cfg.SettingsFactory  - Could not obtain connection metadata
java.sql.SQLException: 不支持的特性
 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)

 

更换之前使用的连接oracle的Jar包,把 ,oracle.jar 改成了:ojdbc14.jar 后,该错误消失。

 

4. 手工更换了连接oracle 的jar包,把原来的jar包删掉了(关掉 myeclipse后,在文件系统中删掉),再打开myeclipse后,在工程中还能看到删掉的jar包,而且项目名字上有!

这就说明工程中包括的jar包找不到了。不过再关闭打开后,该叹号可能会消失,也看不到被删掉的Jar包了。

 

 

5. 提交表但时提示 action 不存在,发现时是struts 中的action 名字和表单提交的action不一样。修改之后搞定。

 

你可能感兴趣的:(struts2.1 + Spring 3.X + hibernate3.X架构搭建问题记录)