没有使用整合的时候,action请求是由Struts框架创建,当和spring进行整合时,Struts框架提供了Struts2-spring-plugin-2.3.24.1.jar这个包。将创建action的操作交给spring管理。spring库使用ioc进行注入。
当拦截器获取到请求时, 将请求解析后,向spring容器发送创建action请求,然后会在applicationContext.xml 中的bean 中查找是否存在指定的bean(通过id),如果找到就由spring 容器创建action并装配;如果没有找到,才会到Struts.xml 中查找,然后由 Struts 框架创建action,有spring装配
使用了(Struts2-spring-plugin-2.3.24.1.jar)这个夹包, Struts.xml 文件中的class的值可以不再是类名。而是spring的bean的id名
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>