`

Struts2.1.6与spring2.5.5集成

    博客分类:
  • SHH
阅读更多

把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框架整合开发

    Struts2.1.6与Spring2.5.6框架的整合开发是Java Web开发中的常见实践,这两种框架各自有着独特的优势,结合使用可以构建出高效、可维护的Web应用程序。Struts2作为MVC(Model-View-Controller)框架,负责处理请求和...

    Struts2.1.6+Spring2.0+Hibernate3.1

    根据给定文件的信息,本文将详细介绍如何配置Struts2.1.6、Spring2.0与Hibernate3.1这三个框架的整合开发环境。这是一套经典的MVC(Model-View-Controller)架构组合,适用于构建复杂的Java Web应用程序。 ### 一、...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.2整合包

    Struts2.1.6、Spring2.5.6和Hibernate3.3.2是三个在Java Web开发中广泛使用的开源框架,它们的整合为开发者提供了强大的后端支撑。这个整合包是为了解决企业在构建基于Java的Web应用程序时面临的复杂性问题,通过将...

    struts2.1.6+spring 2.0编程范例

    Struts2.1.6与Spring 2.0是Java Web开发中两个非常重要的开源框架,它们一起构建了SSH(Struts2 + Spring + Hibernate)框架体系,为开发者提供了高效、灵活的企业级应用开发解决方案。这个编程范例是学习和掌握SSH...

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3(第二部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3 SSH

    struts2.1.6+spring2.5.6

    Struts2.1.6与Spring2.5.6的整合是Java Web开发中的常见实践,主要用于构建MVC(Model-View-Controller)架构的应用程序。这个整合涉及到多个层次的知识点,包括Struts2和Spring的基本概念、它们各自的功能、以及...

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3(第一部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3内个框架的集成

    解决struts2.1.6+spring+hibernate 中文乱码

    ### 解决Struts2.1.6 + Spring + Hibernate 中文乱码问题 在Web开发过程中,特别是使用Java EE框架时,字符编码问题一直是开发者关注的重点之一。对于使用Struts2.1.6、Spring以及Hibernate这三个框架组合的项目而...

    struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分

    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 + Hibernate3.3.2 + Spring2.5.5 + Extjs3.0.0 + Annotations 整合开发 #### 一、技术栈概述 本篇文章将详细介绍如何使用Struts2.1.6、Hibernate3.3.2、Spring2.5.5和Extjs3.0.0以及Annotations来...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1整合

    ### Struts2.1.6 + Spring2.5.6 + Hibernate3.3.1 整合 在本文中,我们将详细介绍如何将Struts2.1.6、Spring2.5.6以及Hibernate3.3.1进行整合,并构建一个简单的MVC应用。通过这个过程,读者将了解到这三种框架的...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解

    在深入探讨Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解的实现细节之前,我们先回顾一下这三个框架的基本概念及其在JavaEE企业级开发中的作用。 ### Struts2框架 Struts2是一个开源的Web应用框架,它遵循MVC...

    Struts2.1.6-Spring2.5.6-Hibernate3.3.2

    Spring MVC作为Spring的一部分,是一个轻量级的Web MVC框架,可以与Struts2集成,提供更灵活的Web应用架构。 **Hibernate3.3.2** 是一款强大的ORM框架,它将数据库操作抽象化,使开发者可以使用面向对象的方式来...

    struts2.1.6+Spring2.0.8+Ibatis2.3.4工程

    struts2.1.6+Spring2.0.8+Ibatis2.3.4工程 开发工具:eclipse3.3+myeclipse6.5 应用技术:Struts2,Spring,Ibatis 数据库:oracle 测试JDK:JDK1.6 测试服务器:Tomcat6.0 非常完整的工程,部署到Tomcat上就可以使用...

    Struts2.1.6 Spring2.5.6 Hibernate3.3.2

    标题 "Struts2.1.6 Spring2.5.6 Hibernate3.3.2" 描述的是一个基于Java的企业级应用程序开发的集成框架,其中包含了三个核心组件:Struts2、Spring和Hibernate。这些组件都是Java Web开发中的关键库,分别负责MVC...

    Struts2.1.6 +Spring2.5.6 + Hibernate3.3.2整合包

    Struts2.1.6、Spring2.5.6和Hibernate3.3.2是Java Web开发中的三个重要框架,它们常被组合使用,形成所谓的"S2SH"集成框架,以实现MVC(模型-视图-控制器)架构,提供企业级应用的高效能和可扩展性。这里我们将详细...

    struts2.1.6 +spring2.5 +hibernate3.2整合开发的 jar包 _ 01部分

    struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...

    struts2.1.6+spring2.0.7+hibernate3.2整合例子

    在"struts2.1.6+spring2.0.7+hibernate3.2整合例子"中,开发者将这三个框架集成在一个项目中,以便充分利用它们的功能。Struts2作为前端控制器,负责接收用户的请求并分发到相应的业务逻辑层。Spring作为核心容器,...

Global site tag (gtag.js) - Google Analytics