基于Maven搭建Spring + Hibernate + Struts2项目【原创】

目录
[隐藏]

一、前期准备工作

1.项目介绍:

本文记述了搭建一个基于spring、struts2,Hibernate框架项目的完整过程。

使用Maven来管理项目。采用Junit进行单元测试。服务器使用Tomcat。

项目名为SS2HDemo,实现一个简单的登陆功能。

(1)登陆界面:

6d15bb29-6f03-4dcf-98cf-b2fb8e665e2e

(2)登陆成功界面:

490a117d-f352-494d-bf03-f8ad9f3d8dfe

2.项目环境和工具

IDE Intellij:https://www.jetbrains.com/idea/download/

3.创建一个Web项目工程

Intellij中创建web项目,以及配置tomcat的过程可以参考“技术流”->”Tool”目录下的两篇博文:
(1)Intellij 创建Maven项目 http://7player.cn/2015/01/23/intellij-%E5%88%9B%E5%BB%BAmaven%E9%A1%B9%E7%9B%AE/
(2)Intellij 配置Tomcat http://7player.cn/2015/01/23/intellij-%E9%85%8D%E7%BD%AEtomcat/
一个创建完成后的初始化结构图:

ae385cdd-138b-4b29-88d1-e5148e7277da

二、SS2H开发过程

1.基础数据

(1)在mysql中创建数据库:ss2hdemo

(2)创建表:user,sql脚本如下

2.配置Maven

配置pom.xml文件。配置用到的第三方依赖包。

注意:这个配置文件是根据项目实际需要不断修改的。这里提供的是最终配置文件。

另外,Intellij也会根据用到编写代码时用到的jar包自动识别提示修改pom.xml的功能(但不能完全依靠IDE的提示)。

这里HIbernate用到的版本是Hibernate3.*。而最新的是Hibernate4.*,两者之间存在一些用法区别,请注意。

【pom.xml】

3.Hibernate相关

(1)对应数据库的user表,建立相应的User类(POJO),为MVC的模型层(Model)。放在cn.no7player.ssh.po包目录下:

【User.java】

(2)创建user对应的的hibernate配置文件——user.hbm.xml。文件放在项目的resources目录下:

【user.hbm.xml】

(3)建立UserDAO接口,放在cn.no7player.ssh.dao包目录下

【UserDAO.java】

(4)创建接口的实现:UserDAOImpl类

【UserDAOImpl.java】

4.Service业务逻辑层

建立Service层的接口以及其实现。该层用来处理业务逻辑。本例中功能较为简单,实现中只是简单调用dao层的接口。

(1)UserService接口,放在cn.no7player.ssh.service包目录下:

【UserService.java】

(2)UserServiceImpl实现,放在cn.no7player.ssh.service.impl包目录下:

【UserServiceImpl.java】

5.spring相关

(1)创建Spring的配置文件applicationContext.xml,放在resources目录下。

其中包含数据库的配置内容,根据个人环境修改。配置中还包含多个bean的例如注入的配置,可以根据自己的项目结构修改。

注意:部分内容可能会提示出错,原因是依赖的包没加入,要在pom.xml中加入对应的依赖包。比如如下hibernate3的依赖:

完整的applicationContext.xml:

【applicationContext.xml】

(2)建立一个辅助工具类,用来获取ApplicationContext,放在cn.no7player.ssh.util包目录下:

【InitApplicationContext.java】

6.struts2相关

(1)建立用户登陆的action,为MVC的控制层(Controller)。

【UserLoginAction.java】

(2)配置struts.xml文件

【struts.xml】

(3)配置web.xml文件,使其支持struts2

【web.xml】

7.JSP相关

MVC的视图层(View)

(1)index.jsp 首页,登陆界面

(2)welcome.jsp 登陆成功页面:

(3)error.jsp 出错页面:

三、单元测试

测试用例应该在编写每一个模块时一起完成,但为了前面操作的流畅性,这里就把测试代码单独放在这里了。

1.测试dao层

【UserDaoTest.java】

2.测试action

【UserLoginActionTest.java】

四、总结

1.项目全部结构图

4eb0fc52-f66c-4be3-a2ce-9d0205b79c40

2.为了能正常登陆测试,数据库应该添加一些数据。

301f5e64-91de-43ed-9721-250123a2f229

3.启动Tomcat,访问地址:http://localhost:8080/SS2HDemo/

38fd7b05-44a1-447a-b536-a0c9bcfd213a
分享到:

3 条评论

昵称
  1. 匿名

    按照博主的博文一步步进行,总体来说还是很顺利,但是数据库表的名称有误,导致一直查询不对,目前我也不知道类的名称是不是一定要和数据库表的名称一致,总之,把数据库的表的名称改为user之后就能顺利运行了

  2. 郭子

    表示每一步都是按着做的,并没有成功。pom的依赖都是一样的。整个项目跑是跑起来了,但是一点击“login”就出来500错误,个人猜测是spring的配置文件没有加载,不管怎么样还是很感谢博主的精心编写。辛苦了。鞠躬

  3. 匿名

    按照楼主的博文,终于搭建成功,我的jdk版本是1.8,需要修改java Target bytecode version为1.8