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

来源:互联网 发布:结伴编程 编辑:程序博客网 时间:2024/04/28 09:43

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>





0 0