Struts+Hibernate+Spring实现用户登录功能
通过登录案例实现三大框架之间的整合,登录功能是任何系统和软件必不可少的一个模块,然而通过这个模块来认识这些复杂的框架技术,理解数据流向和整个设计思路是相当容易的。只有在掌握了这些小模块的应用后,才能轻松的去研究和设计出更有创意的,更加严密的系统。
本人通过学习,实现了这个小功能,现在将实现思想和过程总结如下。希望各位大神朋友多多审查,有什么不到位的地方,请通过邮件告诉我(it_red@sina.com),在此表示感谢;新手朋友,我相信这个例子会是你进入框架领域的第一个完整的DEMO。当你部署成功后,你一定会相当自豪的,同时也有了学习更深知识的信心,如果你还有什么不明白的或者需要该DEMO的源码,请留言或者发邮件告诉我,我们共同进步。
注意搭建这个案例的框架版本:struts 2.3.4 Hibernate 3.0 Spring 3.1.1
数据库设计:id int;username varchar(11);password varchar(11)
一.首先为这个demo添加spring核心容器:
- 鼠标右击项目,[MyEclipse]-----[Add Spring Capabilities…],在弹出的框中选择前3个,然后就是下一步,finish。
2. 完成后,会在项目工程目录src下出现一个applicationContext.xml文件,这就是spring的配置文件,而且我们可以通过这个配置文件将Hibernate的配置加载到applicationContext.xml这个配置文件中。(附applicationContext.xml的源码)
二.添加Hibernate并并持久化User表:
- 鼠标右击项目,[MyEclipse]---[Add Hibernate Capabilities…],版本选择Hibernate3.3,方框选择前两个,然后就是下一步,选择用Spring的配置文件进行SessionFactory的配置;这样生成的文件中就没有了hibernate.cfg.xml,而是直接将配置写入了applicationContext.xml这个文件中;
2.根据提示填写数据库驱动的相关数据:Driver,url,class,Username,Password等信息;
3. 提示是否创建SessionFactory类,由于这个程序Spring注入sessionFactory,所以不用创建,取消方框中的对勾选项;
4.finish完成。
5.添加User对象和映射文件:(附User.java,User.hbm.xml的源码)
三.加载并配置Struts框架:
- 加载Struts的jar包,添加Struts开发所必须的9个包就行了,另外加一个数据库的驱动包,为了配置要将Struts2 与Spring 集成的需要,添加一个struts2-spring-plugin-2.3.4.1.jar包;
- 配置web.xml文件:(附源码)
3. 创建struts.properties:
在项目工程目录src下,新建一个文本文件,在其中添加一条代码:
Struts.objectFactory=spring
并将该文件重命名为struts.properties,建立这个文件的目的是使struts2的类的生成交给Spring完成。
4. 创建struts.xml:在src目录下直接建立一个xml文件,名为:struts.xml; (附struts.xml的源码)
四.实现整合:
- 编写Action和DAO的代码,分别实现DAO层(即:BaseDAO.java和接口IUserDAO.java),UserDAO类(UserDAO.java),控制器Action(LoginAction.java),详细解释见源码注释;(附源码)
2. 注册组件:在applicationContext.xml中注册以上编写的各个组件:
<bean id="baseDAO" class="com.red.login.dao.BaseDAO">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="userDAO" class="com.red.login.impl.UserDAO" parent="baseDAO"></bean>
<bean id="login"class="com.red.login.action.LoginAction"></bean>
<!-- 在bean,id="sessionFactory中"需要自己添加的源码,将User的映射文件添加到配置中-->
<property name="mappingResources">
<list>
<value>com/red/login/vo/User.hbm.xml</value>
</list>
</property>
3.编写几个测试的JSP就可以直接运行了。
注意:转载请标明出处,谢谢!
----------------EMAIL:it_red@sina.com