当前位置 : 主页 > 手机开发 > harmonyos >

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

来源:互联网 收集:自由互联 发布时间:2023-10-08
目前正在试图搭建一个SSH的架构,之前在 myeclipse8.6 + ssh(struts2.1,spring2.5,hibernate3)+ mysql + tomcat6.0 做过例子,当时有老师带着,遇到问题也都解决了。而且,自己练习单表的增删改查时


目前正在试图搭建一个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不一样。修改之后搞定。

 

网友评论