J2EE进阶(十)SSH框架整合常见问题汇总(一)_commons-dbcp导入不了,膜拜大佬

45 阅读4分钟

最后

面试一面会问很多基础问题,而这些基础问题基本上在网上搜索,面试题都会很多很多。最好把准备一下常见的面试问题,毕竟面试也相当与一次考试,所以找工作面试的准备千万别偷懒。面试就跟考试一样的,时间长了不复习,现场表现肯定不会太好。表现的不好面试官不可能说,我猜他没发挥好,我录用他吧。

96道前端面试题:

常用算法面试题:

前端基础面试题: 内容主要包括HTML,CSS,JavaScript,浏览器,性能优化

解决

      1、是因为没有导入依赖包commons-dbcp.jar,导入此包即可

     2、在项目上右击build path—>configure build path..—>add library..—>MyEclipse Libraries选中Spring 2.0 Persistence JDBC libraries,同时可能会用到Spring 2.0 Persistence CORE libraries所以系统自动选上了,点击finish就可以了。

问题2

     org.hibernate.MappingException: persistent class not known: cn.edu.ujn.model.UserDetail

解决

     在userdetail表的反向工程文件中,将UserDetail类名写成了Userdetail导致后期报错,修正之后问题得以解决。怀疑是IDE存在问题。

问题3

     org.apache.jasper.JasperException: /register.jsp(26,2) No tag "" defined in tag library imported with prefix "ss"

解决

     标签书写一定要规范,自己所犯错误就是因为ss:head/中加了一个空格ss: head/导致项目报错。

问题4

     在dao层写入数据时又出现的问题: org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction cannot be cast to javax.transaction.Transaction

解决

     导包时导入错误,应导入的包名为org.hibernate.Transaction;而非javax.transaction.Transaction;

问题5

     org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of cn.edu.ujn.model.User.userid

解决

     从以上错误信息可以得出参数类型不匹配,也就是说在自定义的model.User类中的userid(String类型)数据类型与hibernate中即在数据库存放的数据类型(int类型)不一致,从而导致问题出现。将model.User中的userid数据类型更改为int即可解决问题。

问题6

     org.hibernate.exception.ConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (jkxyshsflower.userdetail, CONSTRAINT FK\_userdetail FOREIGN KEY (userid) REFERENCES user (userid) ON UPDATE CASCADE)

解决

      因为userdetail表中设置了user外键(见下图)。我们期望实现的是在执行插入操作时数据写入user表的同时也会写入userdetail表内。故在user表的映射xml文件中添加了语句<one-to-one name="userdetail" class="cn.edu.ujn.model.UserDetail"  cascade="all">。其中cascade=*"all"的作用就是级联更新和级联删除。比如:数据库中有主键表和外键表,当设置了CASCADE之后,当删除主键表后,外键表也随之消失。但是设置之后出现了以上错误提示。取消cascade="all"*之后,发现数据可以写入user表内,但并未写入userdetail表中。

 

user数据表数据情况如下:

其中,id为17的数据为自己新添加的数据,前面的数据为之前已有数据,但userdetail表中却没有插入相关的内容。

在mysql中手动删除之前的数据时,提示如下

 

     可见由于外键设置的原因。为此,需要首先理清一下各数据表之间的主外键依赖关系。我们应该注意的是外键起着维系表间关系的作用。当外键的值删除,主表中对应的列删除;当外键的值改变时,主表中对应的列值改变。有关数据表的主外键详见博文《MySQL进阶(一)主外键讲解》、《mysql进阶(十一)外键在数据库中的作用》。

     这个问题不稳定,一阵一阵的,隔天再来运行程序发现又可以写入了,但是后来又出现了外键约束的问题。

问题7

最后

面试一面会问很多基础问题,而这些基础问题基本上在网上搜索,面试题都会很多很多。最好把准备一下常见的面试问题,毕竟面试也相当与一次考试,所以找工作面试的准备千万别偷懒。面试就跟考试一样的,时间长了不复习,现场表现肯定不会太好。表现的不好面试官不可能说,我猜他没发挥好,我录用他吧。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

96道前端面试题:

常用算法面试题:

前端基础面试题: 内容主要包括HTML,CSS,JavaScript,浏览器,性能优化