搭建SSH框架问题汇总笔记(Struts2+Spring4+Hibernate5)

刚学完三大框架,想自己跟着网上的视频做框架实战项目,但是网上的视频用的hibernate版本大多是3,在环境搭建的过程就遇到很多问题。在此记录一下问题和解决方法,自己总结的同时也希望能帮到刚学的小伙伴。


工具:EclipseOxygen.1a Release (4.7.1a) Java1.8

           Struts2+Spring4+Hibernate5

问题一:一次过把所有jar包导入,很难确定是哪个框架出现了问题。

解决方法:从Struts→Spring→Hibernate的顺序逐个导入。Struts2的问题是比较少的。Hibernate的问题较多。


问题二:Struts+Spring整合Hibernate(这个部分出现的问题较多)

Q1=====================================

org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

 

原因:和数据库相关的配置信息有误

解决办法:检查applicationContext.xml中的配置信息


我因为org.hibernate.dialect.MySQL5InnoDBDialect中漏写了结尾的t导致出错


Q2=====================================

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

原因:mysql的驱动包没有导入
解决办法:1.将mysql-connector-java-5.1.44-bin放到tomcat的lib目录下
                  2.将项目中WEB-INF/lib下的mysql-connector-java-5.1.44-bin  Add to Build Path(我把这两步都做了才解决了这个错误,不知道只做其中一步是否可行)

同时感谢这位朋友的帖子(更加详细的解释了这个导致错误的原因)http://www.cnblogs.com/woniu57/archive/2012/09/03/2669481.html


Q3=====================================

Invalid bean definition with name 'dataSource' defined in class

原因:jdbc.properties文件中的属性名和applicationContext.xml中配置c3p0连接池的属性名不一致

解决办法:检查属性名是否对应




Q4=====================================

Caused by: java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource

原因:缺少c3p0 jar包

解决办法:将此路径下的jar包复制到WEB-INF/lib下 hibernate-release-5.2.12.Final\lib\optional\c3p0


Q5=====================================

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

原因:spring框架未能启动(不确定,望指教)

解决办法:WEB-INF/lib下的spring-web-4.3.12.RELEASE.jar  Add to Build Path

关于jar包直接复制到lib和add to build path的区别也可以参考这位朋友的帖子   http://blog.csdn.net/dazengq/article/details/51487703

PS:建议mysql-connector-java-5.1.44-bin 这个驱动jar包也add to built path

Q6=====================================

关于hibernate中数据库方言的问题


MySQL5.x版本用的是org.hibernate.dialect.MySQL5Dialect,但在之前学习hibernate的一对多关系时,发现使用这个方言时,eclipse控制台输出的SQL语句是添加了外键的,但在navicat中查看ddl语句是没有外键的,表结构中也没有外键。我个人也没弄清其中原因,望大神指教。

而使用org.hibernate.dialect.MySQL5InnoDBDialect则可以顺利添加外键。


附上整合好的jar包 http://download.csdn.net/download/yuenbin128/10159148


以上是个人初学SSH框架搭建时遇到的问题和解决方法,如有错误或者有更好的方法,望指教!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值