`

Flex 通过 Spring 和J2EE交互

    博客分类:
  • Flex
 
阅读更多

 



1、
View页面中
Xml代码 
    <mx:RemoteObject 
    id="userManagementDataService"  destination="UserManagementDataService"/>
    

    2、
    destination 对应于remote-config.xml中的destination节点
    remote-config.xml
    Xml代码 
       <destination id="UserManagementDataService">
      		<properties>
      			<factory>mySpring</factory>   
      			<source>UserManagementDataService</source>
      		</properties>
      	</destination>
      

      <factory>mySpring</factory>
      就是通过它调用applicationContext.xml 中bean节点的,

      <source>UserManagementDataService</source>
      对应于bean节点的id

      3、
      mySpring是自己写的类,在services-config.xml中有相应的配置
      Xml代码
        <factories>
        <factory id="mySpring" class="springFactory.SpringFactory"/>
        </factories>


        4、
        这里的 class 是要自己写的类,也就是 SpringFactory 类
        (注意这里要引入jar包 spring.jar(WebApplicationContextUtils))

        (可能还要引的包有 commons-dbcp.jar , commons-pool-1.4.jar)

        Java代码
          package springFactory;
          
          import org.springframework.beans.BeansException;
          import org.springframework.beans.factory.NoSuchBeanDefinitionException;
          import org.springframework.context.ApplicationContext;
          import org.springframework.web.context.support.WebApplicationContextUtils;
          
          import flex.messaging.FactoryInstance;
          import flex.messaging.FlexFactory;
          import flex.messaging.config.ConfigMap;
          import flex.messaging.services.ServiceException;
          
          
          public class SpringFactory implements FlexFactory
          {
              private static final String SOURCE = "source";
          
              public void initialize(String id, ConfigMap configMap) {}
          
              public FactoryInstance createFactoryInstance(String id, ConfigMap properties)
              {
                  SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
                  instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
                  return instance;
              }
              public Object lookup(FactoryInstance inst)
              {
                  SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
                  return factoryInstance.lookup();
              }
          
          
              static class SpringFactoryInstance extends FactoryInstance
              {
                  SpringFactoryInstance(SpringFactory factory, String id, ConfigMap properties)
                  {
                      super(factory, id, properties);
                  }
          
          
                  public String toString()
                  {
                      return "SpringFactory instance for id=" + getId() + " source=" + getSource() + " scope=" + getScope();
                  }
          
                  public Object lookup()
                  {
                  	ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext());
                      String beanName = getSource();
                      try
                      {
                          return appContext.getBean(beanName);
                      }
                      catch (NoSuchBeanDefinitionException nexc)
                      {
                          ServiceException e = new ServiceException();
                          String msg = "Spring service named '" + beanName + "' does not exist.";
                          e.setMessage(msg);
                          e.setRootCause(nexc);
                          e.setDetails(msg);
                          e.setCode("Server.Processing");
                          throw e;
                      }
                      catch (BeansException bexc)
                      {
                          ServiceException e = new ServiceException();
                          String msg = "Unable to create Spring service named '" + beanName + "' ";
                          e.setMessage(msg);
                          e.setRootCause(bexc);
                          e.setDetails(msg);
                          e.setCode("Server.Processing");
                          throw e;
                      }
                  }
                 
              }
          }


          5、
          在Web.xml中配置 applicationContext.xml的监听
          Xml代码 
            <context-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>/WEB-INF/applicationContext.xml</param-value>
            </context-param>
                <listener>
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
                </listener>



            6、在applicationContext.xml 中配置
            Xml代码
               <bean 
              id="UserManagementDataService" class="dataService.UserManagementDataService">
              	</bean>


              在页面中通过RemoteObject 通过Spring来调用J2EE中的方法了 
              分享到:
              评论

              相关推荐

                Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0

                通过解压和研究这些文件,开发者可以深入理解如何将前端Flex应用与后端Spring3.0+Hibernate3.0集成,从而构建出完整的分布式企业应用。 总的来说,"Flex pureMVC blazeDS j2ee Spring3.0+Hibernate3.0"这个项目结合...

                Flex+Cairngorm+J2EE

                Cairngorm和Flex一起用于构建用户界面和业务逻辑,而“Flex+Java”表明后端服务使用Java,可能是通过AMF(Action Message Format)进行Flex与Java之间的数据交换。后台分页标签确认了分页功能是重点。 在提供的...

                Flex和j2ee整合.rar

                在Flex和J2EE的整合中,Flex通常作为客户端的展示层,负责提供用户界面和动态交互,而J2EE则在服务器端处理业务逻辑和数据访问。这种结合使得应用能够利用Flex的图形化优势,同时受益于J2EE的稳定性和企业级服务。 ...

                Flex+LCDS+J2EE系统的实现例子

                通过Flex提供直观的用户界面,LCDS实现前后端的数据通信,而J2EE则负责处理业务逻辑和数据存储。这种架构在企业级应用中非常常见,能提供高性能、易扩展的解决方案。不过,需要注意的是,实际项目中可能还需要考虑到...

                flex+Spring+Hibernate整合配置详解

                这种方式提高了开发效率,简化了项目管理,使得Flex界面可以无缝地与Spring管理和控制的业务逻辑以及Hibernate持久化的数据交互。 总结起来,Flex+Spring+Hibernate的整合涉及到的主要知识点包括: 1. Flex ...

                flex和j2ee整合.doc

                通过以上步骤,我们可以实现Flex客户端与J2EE服务器之间的数据交互,使得用户可以通过富交互的界面与后端业务逻辑进行通信。这种集成方式在企业级应用中非常常见,特别是在需要提供复杂用户界面和实时数据更新的场景...

                flex整合j2ee-在eclipse wtp环境下使用blazeds

                总之,通过Eclipse WTP和BlazeDS,我们可以轻松地构建富互联网应用程序(RIA),将强大的Flex UI与健壮的J2EE后端服务相结合。这种技术组合使得开发者能够创建出响应式、动态的Web应用,提供超越传统HTML页面的交互...

                基于Flex与J2EE的整合应用

                此外,Flex可以与J2EE中的各种框架如Struts、Spring和Hibernate协同工作,实现MVC模式,提供数据持久化和事务管理等功能。 整合方案可能包括以下步骤: 1. 在Flex前端,使用Flex框架创建用户界面,ActionScript处理...

                FlexModule_j2ee.zip

                在J2EE环境中,Flex应用通常会与Java后台服务进行交互,例如使用Spring框架、Hibernate进行数据持久化,或者利用 BlazeDS 或 GraniteDS 这样的中间件来提供AMF通信。 在标签中提到了“jsp”、“j2ee”,这意味着这...

                集成 Flex, Spring, Hibernate 构建应用程序.docx

                【集成 Flex, Spring, Hibernate 构建应用程序】 这篇文章探讨了如何将Adobe Flex这一富互联网应用程序(RIA)技术...这种技术栈在现代Web应用开发中具有广泛的实用价值,尤其适合需要高度交互和动态数据更新的场景。

                搭建Flex的J2EE环境

                搭建Flex的J2EE环境是将Flex应用与Java...完成上述步骤后,你就成功地搭建了一个Flex的J2EE环境,可以开发和调试使用Flex前端和J2EE后端的复杂应用了。记得在开发过程中不断测试和调试,确保各个组件之间的交互正常。

                Flex整合spring

                Flex整合Spring是一个重要的技术组合,它允许Flex前端应用与Spring后端服务紧密协作,实现数据交互和业务逻辑处理。在Flex应用程序中,我们通常利用远程对象(RemoteObject)或Web服务(如Hessian)来调用Spring管理...

                flex 与 j2ee 简单集成

                标题“flex 与 j2ee 简单集成”指的是将Adobe Flex技术与Java Enterprise Edition (J2EE)平台相结合,实现前端用户界面与后端服务器功能的交互。Flex是一种用于构建富互联网应用程序(RIA)的开发框架,它基于...

                felxJ2ee实例+整合Flex和J2ee--配置(带图)绝对完整

                8. **测试和调试**:通过模拟数据交互和单元测试来确保Flex与Java之间的通信正常工作,同时使用Flex的调试工具和Java的IDE(如Eclipse或IntelliJ IDEA)进行调试。 通过这个实例,开发者可以学习到如何将Flex的动态...

                Flex、Spring、Hibernate 集成

                通过上述技术和示例程序的介绍,我们可以看到**Flex**、**Spring** 和**Hibernate** 的集成不仅可以创建出功能强大、用户体验优秀的RIA应用,而且还能充分利用各个框架的优势,提高开发效率和应用质量。这对于希望...

                基于FLEX和J2EE多媒体远程答疑系统设计与实现[借鉴].pdf

                而J2EE(Java 2 Enterprise Edition)作为中间层技术,通过SPRING和HIbernate等框架,实现业务逻辑处理和数据访问,确保了系统的稳定性和数据管理的有效性。 该系统以用户为中心,强调个性化服务,不仅支持在线文字...

                Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part2.pdf

                本文档介绍了一个利用Flex前端技术与J2EE后端技术结合的具体实现案例,主要涉及到的技术栈包括:Cairngorm、BlazeDS、Hibernate 和 Spring。该实例分为多个部分,此文档为第二部分,旨在帮助初学者逐步理解和掌握...

                Flex4.X+BlazeDS+Spring3L实战开发在线书店四

                综合以上技术,本项目通过Flex 4.6构建美观且交互性强的前端,BlazeDS负责与Spring 3后端的通信,Spring 3协调业务逻辑,JPA和Hibernate实现数据持久化,而MySQL作为存储层。这种技术组合为在线书店提供了一个高效、...

              Global site tag (gtag.js) - Google Analytics