Struts2+Spring+Hibernate整合示例

Struts2+Spring5+hibernate5整合示例之环境搭建

 

工具

版本

Eclipse Java EE IDE for Web Developers.

Neon.3 Release (4.6.3)

JDK

1.8.0_152

Tomcat

Tomcat 8.5

Spring

spring-framework-5.0.2.RELEASE-dist

Struts2

struts-2.5.14.1

Hibernate5

hibernate-core-5.2.12.Final

AspectJ

1.8.13

MySQL

mysql-5.7.17

 

第一步:创建新的工程(点击file-->New-->Dynamic Web Project

Struts2+Spring+Hibernate整合示例_第1张图片

Struts2+Spring+Hibernate整合示例_第2张图片Struts2+Spring+Hibernate整合示例_第3张图片

最后勾上Gernnerate web.xml deployment describtor,点击finish

第二步注意:以下(1)、(2)、(3)、(4)、(5)所有的引入的jar包均复制到工程的WEB-INF/lib文件夹下

1)引入Struts2jar包;(从官网下载struts-2.5.14.1-min-lib.zip)其包结构如下:

 Struts2+Spring+Hibernate整合示例_第4张图片

(2)引入Sringjar包:官网下载地址

https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework或者http://http://repo.springsource.org/libs-release-local/org/springframework

 Struts2+Spring+Hibernate整合示例_第5张图片

3)引入hibernatejar包,选择

hibernate-release-5.2.12.Final.zip\hibernate-release-5.2.12.Final\lib\required文件夹下的jar文件,其结构如下:

 Struts2+Spring+Hibernate整合示例_第6张图片

(4)引入AspectJjar,因为以后会用到注解,下载地址:

(http://www.eclipse.org/aspectj/downloads.php,同时还需要下载aspectjweaver-x.x.xx.jar文件包,下载地址:http://mvnrepository.com/artifact/org.aspectj/aspectjweaver ),具体结构如下:

 

(5)引入MySQL的驱动jar包(根据自己的MySQL版本不同引入不同的驱动包)

(6)引入struts2-spring-plugin-2.3.34.jar,有时候可能是这个包的问题导致整合失败,原因可能是版本太新,可换为低一点的版本,就可以解决。还需要引入commons-logging-x.x.x.jar.

第三步:

配置web.xml文件,将原来的文件内容只保留如下内容:

1)删除多余内容

 Struts2+Spring+Hibernate整合示例_第7张图片

(2)向web.xml文件中加入struts的过滤器器,配置如下(注意:本次用到的struts2版本为2.5):

    struts2

    org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

  

  

    struts2

    /*

  

3)加入spring的监听器:其配置如下;

    contextConfigLocation

    classpath:applicationContext.xml

  

  

    org.springframework.web.context.ContextLoaderListener

  

第四步

(1)在工程中的src目录下创建struts2.xml文件(由于还没有创建action处理类,红色方框内的class以及name属性可先暂时不配):

 Struts2+Spring+Hibernate整合示例_第8张图片

(2)在工程中的src目录下创建applicationContext.xml文件:

其文件头设置为:

 Struts2+Spring+Hibernate整合示例_第9张图片

如果使用的是连接池(其他类型的连接配置可网上搜索)则配置可参考如下设置(注意:如果使用的是如下图配置,则bean中的class的属性需要引入c3p0-x.x.x.x.jar):

 Struts2+Spring+Hibernate整合示例_第10张图片

第五步:接下来创建具体的实现类:

(1)在工程中的src文件下下分别建立如下几个包;

com.sss.action    (用来处理action事件的类)

com.sss.dao      (用来处理数据dao层的类)

com.sss.domain   (用来封装POJO的类)

com.sss..service   (用来处理业务层的类)

(2)domain包下建立POJO对象product类,并同时建立Product.hbm.xml文件(需要添加hibernate插件,具体操作可上网搜索)

 

 Struts2+Spring+Hibernate整合示例_第11张图片

(3)dao的包下创建dao层的处理类ProductDao

 Struts2+Spring+Hibernate整合示例_第12张图片

(4)service包下创建业务逻辑处理的service类(此处只简单的建立了存储方法,其他方法可自行添加):

 Struts2+Spring+Hibernate整合示例_第13张图片

(5)action包下创建页面响应的action,(实现ModelDriven接口的主要作用是封装Object对象。实现接口时可以指定某个具体的Object对象类,当jsp页面中需要该对象的属性时,直接model.属性名即可得到该属性。而不用再在action中编写该对象的getset方法了,对象.属性名了。相当于默认的对象封装。方便操作。);

 Struts2+Spring+Hibernate整合示例_第14张图片

第六步:所有类实现之后,需要在applicationContext.xml文件配置对应的bean实例:

(1)使用spring来代替hibernate管理数据连接需要在applicationContext.xml文件中加入如下配置:

 Struts2+Spring+Hibernate整合示例_第15张图片

2)配置相关的dao类、action类、业务处理类的bean实例:

 Struts2+Spring+Hibernate整合示例_第16张图片

(3)由于使用了spring来管理hibernate。所以还要开启事务,否则后续中的获取Session实例中的getSeesionFactory().getCurrentSession()方法将无法获取到Session实例。

 Struts2+Spring+Hibernate整合示例_第17张图片

第七步:配置struts.xml文件,指定action的实现类:

 Struts2+Spring+Hibernate整合示例_第18张图片

第八步:在WebComten文件夹下建立前端jsp业务界面(前端的业务页面中的action名称一定要与struts.xml中配置的名称要一致!!):

 Struts2+Spring+Hibernate整合示例_第19张图片

Finally:测试环节(注意:确保所有包已经引入,同时数据库已经启动)

将工程发布到Tomcat8.5上去。

若果后台输出了sql插入语句,则测试成功。

你可能感兴趣的:(学习总结,Java学习)