ssh集成(struts2+spring+hibernate)

  1. 思想:

这里写图片描述
(1)利用struts2的标签来编写jsp文件,利用struts2表单验证框架来验证提交的表单,利用struts2国际化规范页面显示。

(2)Struts2控制器通过DBOperator对数据库进行相应操作,DBOperator中代码操作数据库,完成对数据库的增删改查操作,并且负责连接数据库,实现spring和hibernate的集成。

(3)Spring+Hibernate—->底层数据库组件

Spring+Struts2-------->控制器组件和视图组件

(4)Struts2的Action类可以定义在Spring的配置文件中,并且在Spring配置文件中将DBOperator作为Action的属性注入。Action类接收到视图层请求时,需要调用DBoperator层对数据进行操作。

2.配置文件:

(1)web.xml:web容器的配置文件,需要配置struts2过滤器,过滤所有请求和spring的监听器。

(2)struts.xml:主要接受jsp页面提交的action请求,管理页面的跳转

(3)applicationContext.xml:spring的配置文件,实现了Spring和Hibernate的集成,定义Struts2的所有Action类,实现Spring和Struts2的集成。

*指定数据库相关信息存储在jdbc.properties中。

*配置数据源(连接数据库时的信息)

*定义SessionFactory,配置Hibernate的属性信息,指定Hibernate映射文件

*定义transactionManager,使用它管理事务

*定义dbOperator,使用它操作数据库。

*定义事务代理transactionProxy,Hibernate有了它不用再去管理事务。

*定义Struts2的Action类,实现dbOperator注入

(4)jdbc.properties:配置数据库连接相关信息

(5)struts.properties:Spring管理struts2的Action实例配置:

http://blog.csdn.net/java_pengjin/article/details/6009539

3.Spring和Hibernate的集成框架:

(1)Spring为Hibernate的DAO提供工具类:HibernateDaoSupport

(2)这个工具类提供两个方法:getHibernateTemplate()和setSessionFactory()

(3)setSessionFactory()用来接收配置在Spring的sessionFactory实例。用applicationContext文件中的依赖注入实现。

(4)getHibernateTemplate()用来利用sessionFactory实例生成session,再生成HibernateTemplate完成增删改查。

4.使用Spring时,要给applicationContext.xml文件中定义的DbOperator类创建一个接口类,这样很方便的通过配置文件实现插拔操作。

5.Spring和Struts2的集成框架:
这里写图片描述

如图,在Spring容器中,将HibernateShopping通过transactionProxy注入到Action中使用->SpringAOP思想.

注入方法:(1)Action类中加入属性ShoppingOperator,它是Shopping接口类型的,有getter和setter方法。

            (2)在Spring配置文件中通过ref实现注入。

6.Action控制逻辑:
这里写图片描述

Action类只有要进行数据库操作时才调用HibernateShopping方法,最后从session中拿出对象显示。

到此,一个简单的SSH框架搭建完毕,Spring+Hibernate以及Spring+Struts2的集成框架是重点,注意配置文件的格式和要实现的功能!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值