SSH框架流程说明(SSH框架各框架整合说明)

本文介绍Struts2、Spring与Hibernate三大框架如何整合。重点讲解Struts2与Spring整合时Action的创建过程及Spring管理下Action的生命周期,并探讨Spring与Hibernate整合后如何简化Hibernate操作及解决延迟加载问题。
摘要由CSDN通过智能技术生成

1.Struts2和Spring整合:

   没有使用整合框架的时候,action请求是由Struts2框架创建,当Struts2和Spring进行整合时,Struts2框架提供了struts2-spring-plugin-2.3.24.1.jar包,将创建action的操作交给了Spring管理,Spring框架使用IOC进行注入。

   当拦截器获取到请求后,将请求解析后,向Spring容器发送创建action请求,然后会在applicationContext.xml中的bean中查找是否存在指定的bean(通过id),如果找到就由Spring容器创建action并装配;如果没有找到,才会到struts.xml中查找,然后由Struts2框架创建action,由Spring装配。

   注意:使用了struts2-spring-plugin-2.3.24.1.jar(整合)后:struts.xml文件中的action的class值不再是类名,而是Spring中applicationContext.xml中的bean的id名。

当发送请求时:

首先到web.xml中去:

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
再由监听器到Spring容器:

Spring容器:applicationContext.xml,在Spring容器中将做如下事:

  (1)action创建

  (2)配置sessionFactory(需要dataSource)

  (3)事务管理(声明式事务)

2.Spring和Hibernate整合:

  (1)Spring提供了操作类(HibernateDaoSupport和HibernateTemplate)简化Hibernate操作

  (2)Spring提供了解决session关闭导致的延迟加载问题,在web.xml中配置过滤器:

<filter>
    <filter-name>OpenSessionInViewFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>OpenSessionInViewFilter</filter-name>
    <url-pattern>*.action</url-pattern>
  </filter-mapping>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值