`
black_angle
  • 浏览: 49574 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

整合 Struts 和 Spring

阅读更多

整合 Struts Spring三种方式:<o:p></o:p>

1:使用 SpringActionSupport 整合 Structs2: Spring DelegatingRequestProcessor 覆盖 Struts RequestProcessor3: Struts Action 管理委托 Spring 框架 <o:p></o:p>

您使用哪都需要使用 Spring ContextLoaderPlugin Struts ActionServlet Spring 用程序境。就像添加任何其他插件一简单地向您的 struts-config.xml 文件添加插件通过加载吧spring的配置文件加载进来:如下所示<o:p></o:p>

<plug-in className=<o:p></o:p>

  "org.springframework.web.struts.ContextLoaderPlugIn"><o:p></o:p>

    <set-property property="contextConfigLocation" value="/WEB-INF/beans.xml"/><o:p></o:p>

 </plug-in><o:p></o:p>

窍门 1. 使用 Spring ActionSupport(strutsspring耦合在一起了)<o:p></o:p>

org.springframework.web.struts.ActionSupport类提供了一个 getWebApplicationContext() 方法。您所做的只是从 Spring ActionSupport 而不是 Struts Action 类扩展您的public class SearchSubmit extends ActionSupport {  //下面execute方法里的内容,strutsspring耦合在一起了<o:p></o:p>

ApplicationContext ctx = getWebApplicationContext();  <o:p></o:p>
    BookService bookService =  (BookService) ctx.getBean("bookService");<o:p></o:p>
}//不继承ActionSupport;这里换成直接自己通过各种各种ApplicationContext来读取springbean定义//文件(这种情况不需要上面的< plug-in>标签也可以)<o:p></o:p>

窍门 2. 覆盖 RequestProcessor<o:p></o:p>

org.springframework.web.struts.DelegatingRequestProcessor 来覆盖 Struts  RequestProcessor 理程序<controller processorClass="org.springframework.web.struts. DelegatingRequestProcessor"/>下一是在我的 Spring 配置文件中注册该动<o:p></o:p>
<beans><o:p></o:p>
  <bean id="bookService" class="ca.nexcel.books.business.BookServiceImpl"/><o:p></o:p>
  <bean name="/searchSubmit" class="ca.nexcel.books.actions.SearchSubmit"> |(1)<o:p></o:p>
     <property name="bookService"><o:p></o:p>
        <ref bean="bookService"/><o:p></o:p>
     </property><o:p></o:p>
  </bean><o:p></o:p>
</beans><o:p></o:p>
注意:在 (1) ,我使用名称属性注册了一个 bean,以匹配 struts-config 作映射名称。SearchSubmit 示了一个 JavaBean 属性,允 Spring 在运行填充属性SearchSubmit类就是Action里面定义了 private BookService bookServiceget/set方法.<o:p></o:p>
缺点: 如果您使用一个不同的 RequestProcessortilesprocessor需要手整合 Spring  DelegatingRequestProcessor<o:p></o:p>

窍门 3. 作管理委托 Spring<o:p></o:p>

 Strut 作管理委托 Spring。您可以通 struts-config 作映射中注册一个代理来实现。代理负责 Spring 境中 Struts 作。由于作在 Spring 的控制之下,所以它可以填充作的 JavaBean 属性,并为应 Spring  AOP 截器之的特性来了可能。Action类和上面那种情况的类一样<o:p></o:p>
<action    path="/searchSubmit" <o:p></o:p>
             type="org.springframework.web.struts.DelegatingActionProxy" |(1)<o:p></o:p>
             input="/searchEntry.do"<o:p></o:p>
             validate="true"<o:p></o:p>
             name="searchForm"><o:p></o:p>
             <forward name="success" path="/WEB-INF/pages/detail.jsp"/><o:p></o:p>
             <forward name="failure" path="/WEB-INF/pages/search.jsp"/><o:p></o:p>
    </action>  <o:p></o:p>
是一个典型的 struts-config.xml 文件,只有一个小小的差。它注册 Spring 代理的名称,而不是声明作的名,如(1所示。DelegatingActionProxy 使用作映射名称 Spring 境中的作。就是我使用 ContextLoaderPlugIn 声明的<o:p></o:p>
<beans><o:p></o:p>
  <bean id="bookService" class="ca.nexcel.books.business.BookServiceImpl"/><o:p></o:p>
  <bean name="/searchSubmit"   class="ca.nexcel.books.actions.SearchSubmit"><o:p></o:p>
     <property name="bookService"><o:p></o:p>
        <ref bean="bookService"/><o:p></o:p>
     </property><o:p></o:p>
  </bean> <o:p></o:p>
*Spring Bean NameStruts Action Path关联,当Struts载对应ActionDelegatingActionProxy就根据入的path属性,在Spring Context对应bean,并将其例返回Struts<o:p></o:p>

作委托的点不止如此。一旦 Spring 控制您的 Struts

分享到:
评论

相关推荐

    整合struts和spring(DOC)

    ### 整合Struts和Spring的关键知识点 #### 1. 控制反转(IoC)设计模式 - **定义**:控制反转(Inversion of Control, IoC)是一种设计模式,它将应用程序的控制权从硬编码的方式转移到由外部组件管理。这种模式的...

    struts和spring整合的2种方式

    需要注意的是,整合Struts和Spring时,还需要在web.xml中配置Spring的DispatcherServlet,以及确保Struts和Spring的相关库已添加到项目类路径中。此外,为了实现事务管理和数据访问,通常还会结合Spring的DataSource...

    struts整合spring开发实例

    接下来,我们将深入探讨如何整合Struts和Spring来开发一个登录程序。 首先,让我们了解Struts。Struts是基于Apache软件基金会的ActionServlet,它提供了处理HTTP请求并调用业务逻辑的方法。在Struts中,Action类是...

    整合struts2和spring

    整合Struts2和Spring主要涉及以下几个关键步骤: 1. **添加依赖**:首先,需要在项目的构建配置文件(如Maven的pom.xml或Gradle的build.gradle)中添加Struts2和Spring的相关依赖库。这通常包括struts2-core、...

    Struts+Spring整合例题附jar包

    在整合Struts和Spring时,我们可以利用Spring的AOP(面向切面编程)来声明性地配置事务边界,确保数据的一致性。 6. **异常处理**:Spring提供了统一的异常处理机制,可以捕获并处理应用程序中抛出的异常,这在...

    用maven整合struts+spring+hibernate

    "用maven整合struts+spring+hibernate"这个主题,就是关于如何将这三大核心框架——Struts、Spring和Hibernate——集成到一个项目中的实践教程。Struts提供了MVC(Model-View-Controller)架构,Spring是全面的后端...

    struts,Spring整合代码

    整合Struts和Spring主要有以下步骤: 1. **配置Spring**:创建Spring的配置文件(如`applicationContext.xml`),声明Action类为Spring的bean,设置必要的属性和依赖。 ```xml ``` 2. **使用Spring的...

    Struts_Spring框架整合DelegatingActionProxy.

    3. **整合过程**:整合Struts和Spring时,首先需要在Struts的配置文件(struts-config.xml或struts2的struts.xml)中声明一个Spring插件,这样Struts会将请求转发给Spring来创建和管理Action。然后在Spring的配置...

    整合struts+spring+hibernate实例

    通过以上步骤,我们成功地在WebLogic服务器上实现了Struts、Spring和Hibernate的整合,创建了一个Struts Portlet,从而能够在portlet环境下利用这三个框架的强大功能,提高开发效率和代码质量。这个实例不仅涵盖了...

    struts整合spring开发实例(二)

    通过整合Struts和Spring,我们可以将用户认证、权限检查等逻辑放在Service层,而Action仅负责接收和转发请求,保持代码的简洁性。同时,Spring可以帮助管理数据库连接和事务,确保登录操作的正确执行。 总的来说,...

    struts和spring整合(两种实现方法)

    用DelegatingRequestProcessor和DelegatingActionProxy两种方法实现struts和spring的整合,不同的地方就在struts-config.xml文件中,当前文件中DelegatingRequestProcessor是注释的。

    struts,与spring整合

    整合Struts和Spring可以将Struts的MVC能力与Spring的强大功能结合起来,实现更高效、可维护的Java Web应用。以下是一些关于Struts和Spring整合的关键知识点: 1. **依赖注入(Dependency Injection, DI)**:Spring...

    Struts+Spring框架搭建demo

    在整合Struts和Spring的过程中,核心思想是让Spring接管Action的创建和生命周期管理。原本在纯Struts架构中,Action类是由Struts的配置文件(如struts-config.xml)定义并管理的,但在整合后,Action不再直接由...

    Struts-Spring_DelegatingRequestProcessor框架整合.rar

    5. **优点**:整合Struts和Spring可以带来很多好处,如更好的代码组织、更简单的依赖管理、更灵活的事务控制等。通过Spring的AOP支持,可以方便地实现全局异常处理和事务管理。此外,由于业务逻辑和表示层分离,代码...

    Struts+Hibernate+Spring整合项目之登录部分

    2. **整合Struts和Spring**:在struts.xml中配置Action时,指定Spring管理的bean,使Action由Spring实例化。 3. **整合Hibernate和Spring**:在applicationContext.xml中配置SessionFactory,并声明User实体类的映射...

    struts+spring整合.doc

    通过整合Struts和Spring,开发人员不仅可以利用Spring框架的强大功能来增强Struts应用程序的性能和灵活性,还可以享受到更高级别的模块化和代码重用。随着对这两种框架的深入了解,开发团队可以根据项目需求选择最...

    SSH整合源码(Struts+Spring+Hibernate整合用户注册例子)

    SSH整合,全称为Struts、Spring和Hibernate的集成,是一种常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。在这个例子中,我们看到的是一个基于SSH的用户注册功能的实现,使用的开发工具是...

    Struts+spring简单实例

    7. ** strutsspring-plugin**:为了简化Struts和Spring的集成,存在strutsspring-plugin这个库,它可以自动将Spring管理的Bean暴露给Struts,减少了手动配置的工作。 8. **测试**:Struts+Spring的集成使得单元测试...

    Struts+Spring+Hibernet整合例子

    Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子 Struts+Spring+Hibernet整合例子

    ssh整合所需jar包 struts1.2+hibernate3.2+spring2.5

    SSH整合是指将Struts、Spring和Hibernate这三大Java开源框架集成在一起,以构建高效、松耦合的企业级应用。在Java开发中,SSH框架的整合是常见的技术实践,它能够帮助开发者实现MVC(Model-View-Controller)设计...

Global site tag (gtag.js) - Google Analytics