- 思想:
(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的集成框架是重点,注意配置文件的格式和要实现的功能!