当前位置:首页 > SSH整合过程(struts-2.3.15.1+spring-3.2.4+hibernate-4.2.3)
class=\ptor\> key=\>PROPAGATION_REQUIRED,-java.lang.Exception
class=\reator\>
7. 类图 以用户登录验证为基础的测试
包 com.accp.action 类或接口 LoginAction 方法或属性 User user UserManager userManager String login() int id String username String password boolean exist() SessionFactory sessionFactory boolean exist() String login() UserDao userDao String login() com.accp.model com.accp.dao com.accp.dao.impl com.accp.service com.accp.service.impl
User UserDao UserDaoImpl UserManager UserManagerImpl 流程控制
username password login.jsp 返回”success”/”error” user struts2.xml 转跳login_success.jsp/login_error.jsp UserManagerImpl.login spring 返回”success”/”error” LoginAction.login() BROWER user 返回true/false UserDaoImpl.exist() Hibernate. sql语句 返回结果 Database:MySql.test Table:user
8. 注意事项
(1) login.jsp 输入内容的name为user.username user.password时,LoginAction中应
该为user生成相应的get/set方法。
(2) 通过spring注入的属性,应该生成相应的get/set方法。
(3) 如果登录时网页出现错误nested transactions not supported,一般错误出在
UserDaoImpl的exist()方法的session.beginTransaction()这一行。这是因为getCurrentSession()没有获得session。先检查beans.xml中事务管理配置,看看是否在UserManager中login方法或者UserDao的exist()方法上开启事务。然后检查UserDaoImpl的属性sessionFactory有没有get/set方法。检查session执行对应的数据库操作后,有没有提交事务(session.getTransaction.commit())。如果会报以上错误,在beans.xml的hibernate配置中加入 (4) 当前测试的代码只是完成了用户登录验证功能,只是将hibernate的 SessionFactory通过spring注入,数据库操作使用的是原生的sql语句,没有使用实体。如果需要测试,请自己完成实体类xml或者使用HibernateAnnotation。 (5) 如果操作中出现其他错误,请google或baidu一下。 9. 主要代码 (1) login.jsp
共分享92篇相关文档