SSH三大框架的搭建整合(struts2+spring+hibernate)
SSH说的上是javaweb经典框架,不能说100%要会SSH框架,但是大部分公司都在用,说到框架,都会提到ssh吧,这次就以很简单的注册例子来整合SSH框架。整合框架要注意的是先每个框架单独测通后再整合,不然整合后出现问题比较难排查。
环境:windows + MyEclipse + JDK1.7 + Tomcat7 + mysql
代码已经测通,如果有报错可能是我某些地方没描述清楚,请留言。
这次整合引入的jar包,( 不是最简的,有的包不一定用得上)
补上jar包下载地址:https://download.csdn.net/download/l___ping/10278418
**
Struts2.3
**
1、导入jar包
2、配置web.xml
3、创建js页面
4、创建action类
5、配置struts.xml文件
到这里struts2配置完类,在和整合spring前,先单独测试struts2是否正确运行。然后配置spring以及整合struts2
Spring
1、导入jar包
2、在web.xml添加spring支持(监听器)
3、在src目录下添加applicationContext.xml文件 管理Action对象的创建
将action的创建交给spring管理,
spring 默认scope 是单例模式,这样只会创建一个Action对象,
而Action要求每次访问都要创建新的Action ,scope=”prototype”就可以保证每次有新的访问都会创建新的action。保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。
4、修改struts.xml中action引用的类地址,改为在spring中创建action对象的id,这样才真正是把action对象交给spring创建。
和struts2配置的第5步比较
hibernate
1、导入jar包
2、创建实体类
…
get/set方法
…
3、映射文件User.hbm.xml 在同一个包下创建映射文件,命名格式entity.hbm.xml
配置信息
4、创建dao层、service层(基本的增删改查用于测试)
PS. 说明:Dao实现类继承了hibernateDaoSupport后可以直接获取session,不需要sessionFactory。
5、action层中在前面配置struts2的基础上,增加业务代码(增删改查)
对于userService的获取有两种方式:
get/set方式
注解方式
6、在applicationContext.xml配置文件配置整合信息
A、(如果使用类注解方式,则需要开启注解扫描)
B、创建Action对象,userService对象,userDao对象
Ps.我这里userDao是get/set方式,Action,userService是注解方式
C、数据库连接(整合spring-hibernate,我是原来的hibernate配置文件写到spring中)
不需要再数据库建表,只要保证有对应的数据库即可,
Ps.数据库的连接信息没有写死到代码中,而是用db.properties配置再倒入,好处是随时更换数据库
db.properties数据
这里hibernate其实已经配好而且整合到spring里面去了,没有单独测试,直接用网页测试。
PS.如果整合顺序是hibernate – spring – struts2 会不会合理些?