把struts2-spring-plugin-2.1.6.jar添加到classpath中,struts2会自动扫描struts-plugin.xml文件,该文件自动注册了com.opensymphony.xwork2.ObjectFactory,完成和spring的集成。
(Struts2与Spring的集成,其实,只要一个JAR就可以自动完成两者的集成。
集成后,Struts2会把它自己的Action控制器交给Spring来创建和管理,需要在Spring配制文件中配制Action控制器Bean,并且在Struts2的配制文件中引用这个Action控制器Bean ID ,而不再用Action控制器的实现类了。而在集成前,是由Struts2框架自动创建和管理Action控制器对象)
Struts2与Spring完成集成后,客户请求的流程发生了微妙的一些变化(主要就是因为,Struts2的Action控制器交给了Spring来创建和管理了)。
Spring插件提供了一种伪Action,当我们在struts.xml文件中配置Action时,通常需要指定class属性,该属性就是用于创建Action实例的实现类。但Spring插件允许我们指定class属性时,不再指定Action的实际实现类,而是指向Spring容器中的Bean ID。
通过上面的方式,我们发现了这种整合策略的关键:当struts2将请求转发给指定的Action时,Struts2中的该Action只是一个“傀儡”,它只有一个代号,并没有指定实际的实现类,当然也不可能创建Action实例,而隐藏在该Action下的是Spring容器中的Actoin实例----它们才是真正处理用户请求的控制器。这就实现了让核心控制器调用Spring容器中的Action来处理用户请求。
在这种整合策略下,处理用户表示的Acton由Spring插件负责创建,但Spring插件创建Action实例时,并不是利用配置Action时指定的class属性来创建该Action实例,而是从Spring容器中取出对应的Bean实例完成创建。
注意这里的bean name是adminAction,再看Bitrac\src\admin.xml里的class="adminAction",Spring和Struts的结合点就在这里,后台处理这一结合的是struts2-spring-plugin-2.1.2.jar。如果不使用spring,在admin.xml中将是class="com.albertsong.bitrac.action.AdminAction"。
分享到:
相关推荐
Struts2.1.6与Spring2.5.6框架开发一个简单的登录系统,没有连接数据库。(代码和jar包都完整)
包含 Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2 整合的包。
Struts2.1.6 、Spring2.0 、Hibernate3.1
Struts2.1.6 Spring2.5.6 Hibernate3.3.2_jar
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解
Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3 SSH
struts2.1.6+spring2.5+hibernate3.3最新配置更新
Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3内个框架的集成
Struts2.1.6+Spring2.5.6+Hibernate3.3.1整合 步骤非常详细,每步都有说明!
struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...
Struts2.1.6+Hibernate3.3.2+Spring2.5.5+Extjs3.0.0+Annotations,整合开发。
struts2.1.6整合spring2.0 新手学ssh 顺便给新手留的
struts2.1.6+spring2.0.7+hibernate3.2整合例子。这个例子简单的说明shh2的应用简介。
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解 docx文档教程
Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误.txt 初学者开发常见错误!
主要是对struts2.1.6+spring2.5.6的整合,其中有struts2.x国际化,验证......
Struts2.1.6 Spring2.5.6 Hibernate3.3.2
Hibernate3.3.2+Spring2.5.5+Struts2.1.6+Extjs3.0.0_Annotations方式快速开发框架资料。
struts2.1.6+Spring2.0.8+Ibatis2.3.4工程 开发工具:eclipse3.3+myeclipse6.5 应用技术:Struts2,Spring,Ibatis 数据库:oracle 测试JDK:JDK1.6 测试服务器:Tomcat6.0 非常完整的工程,部署到Tomcat上就可以使用...