`
un268un
  • 浏览: 11920 次
社区版块
存档分类
最新评论

学习flex 初步实现与java进行数据交互

 
阅读更多

  本人是从事BS架构应用开发的,现在发现客户越来越关注用户的互动体验,视觉上的冲击 界面与提示友好 portlet 百花齐放
  基于各方面原因,现在开始关注flex技术.没说的最终还是要与实际应用结合来使用的.如何让flex开发的.swf与java进行数据交互?了解到flex是用amf与java进行数据交互的,按照网上搜出来的相关文档进行配置
  首先下载BlazeDS包 解压后
  将lib下的jar包copy到自己建立好的web应用的lib下,将flex文件夹直接copy到/WEB-INF下(包括4个xml文件),在web.xml里加入 MessageBrokerServlet MessageBrokerServlet  flex.messaging.MessageBrokerServlet  contextConfigLocation  /WEB-INF/flex/services-config.xml  1   struts2 /sevlet/*   MessageBrokerServlet /messagebroker/*  注意 由于我用的是struts2+spring2.5+Hibernate3.3 开始由于在配置struts2的/*使我的/messagebroker/*请求总接收不到 郁闷了好半天 最后将应用中所有的请求加了一级路径 才分开
  配置好后访问http://{server.name}:{server.port}/{context.root}/ messagebroker/amf如果能够访问 那么应用一级就配置好了
  下面开始用flex开发功能点吧.                             注意 这里要与 remoting-config.xml中的id 对应   ro spring   如果你不是使用spring 那么就将标签去掉在中写类的全路径 如果用spring进行管理的话 要在service-config.xml中
  加入     中间的实现类可以自己写 
  代码如下 package com.chinasofti.comm.utils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefini tionException; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplica tionContextUtils; 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"; /** * This method can be used to initialize the factory itself. It is called * with configuration parameters from the factory tag which defines the id * of the factory. */ public void initialize(String id, ConfigMap configMap) { } /** * This method is called when we initialize the definition of an instance * which will be looked up by this factory. It should validate that the * properties supplied are valid to define an instance. Any valid properties * used for this configuration must be accessed to avoid warnings about * unused configuration elements. If your factory is only used for * application scoped components, this method can simply return a factory * instance which delegates the creation of the component to the * FactoryInstance's lookup method. */ public FactoryInstance createFactoryInstance(String id, ConfigMap properties) { SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties); instance.setSource(properties.getPropertyAsString( SOURCE, instance .getId())); return instance; } // end method createFactoryInstance() /** * Returns the instance specified by the source and properties arguments. * For the factory, this may mean constructing a new instance, optionally * registering it in some other name space such as the session or JNDI, and * then returning it or it may mean creating a new instance and returning * it. This method is called for each request to operate on the given item * by the system so it should be relatively efficient. *  * If your factory does not support the scope property, it report an error * if scope is supplied in the properties for this 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.FlexConte xt .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; } } } }  好了 以上就是flex与java的应用整合的实例
  关注点在是否能访问http://{server.name}:{server.port}/{context.root}/ messagebroker/amf
  呵呵 也就是你的swf是否能与java通讯 
分享到:
评论

相关推荐

    Flex + LCDS + Java 入门教程

    Flex是一种富互联网应用程序(RIA)开发框架,用于创建交互式用户界面,而LCDS是Adobe提供的数据服务解决方案,能够连接Flex客户端与Java后端,提供数据绑定、实时消息传递等功能。 LCDS(原名FDS)的核心功能包括...

    flex_lcds_java.rar_flex

    描述中提到“flex的网络通讯lcds教程,适合初步接触flex网络编程人员”,这表明这个教程主要面向初学者,旨在教授如何利用Flex和LCDS实现网络通信,以便在Flex前端和Java后端之间传输数据。 在标签中,“flex”再次...

    flex与java的整合教程

    通过BlazeDS,前端的Flex应用能够与后端的Java应用程序进行无缝通信,实现数据的实时交互。 在开始整合教程之前,我们需要确保以下几个前提条件: 1. 安装Java Development Kit (JDK):JDK是开发Java应用的基础,...

    Flex + LCDS(Blazeds) + Java 入门教程

    【Flex + LCDS(Blazeds) + Java 入门教程】是一篇旨在引导初学者了解如何构建基于Flex、LCDS(LiveCycle Data ...通过学习这篇教程,开发者可以对LCDS的应用有初步的理解,并能够构建基本的Flex与Java后端通信的应用。

    flex-超好的flex学习资料

    如《Flex和Java通信之BlazeDS》、《Flex+LCDS(BlazeDS)+Java开发》,系统地介绍了Flex与Java之间的数据交换方式,包括AMF协议、RemoteObject的使用,以及如何通过BlazeDS等中间件实现Flex与Java服务器的高效通信。...

    Flex3学习指南-是初学者学习Flex必备资料,这是第一套

    Flex 3中的服务连接也是学习的重点,包括使用HTTPService、WebService或AMF通信协议与服务器进行数据交换。这将涉及到XML、JSON和其他数据格式的解析,以及如何使用 BlazeDS 或 LiveCycle Data Services 实现数据推...

    深入浅出Flex,经典教程

    首先,"使用BlazeDS实现Java和Flex通信.doc"这部分内容会详细讲解如何利用BlazeDS作为中间件,实现Flex前端与Java后端的数据交换。BlazeDS是Adobe官方提供的免费服务器端组件,它支持AMF(Action Message Format)...

    flex3+lcd的配置文档,初学者可以看看

    通过本文的学习,您应该已经对Flex3与LCDS的基本配置有了初步的认识。构建一个完整的Flex LCDS项目需要一定的实践经验和技巧,希望本文能为您开启这一领域的探索之旅提供有力的帮助。未来,您可以根据项目需求进一步...

    java开发实战下载

    通过该项目,学习者可以深入了解Flex4.X的核心概念,如MXML和ActionScript的使用、组件设计、数据绑定和事件处理等。 2. **深入学习ExtJs4.1的布局及常用控件** - **知识点**:ExtJs是一款强大的JavaScript库,...

    BlazeDS的初步使用

    通过以上步骤,我们成功实现了使用BlazeDS进行Flex与Java之间的数据交互。在实际项目中,BlazeDS还可以配合LiveCycle Data Services提供更复杂的功能,如数据推送、事件广播和数据缓存等,极大地提升了富客户端应用...

    Flex_Data_Service基础教程

    通过上述步骤,开发者可以初步掌握Flex Data Service的基础使用,构建出简易的分布式数据应用。然而,这只是FDS强大功能的冰山一角,深入探索其高级特性,如数据绑定、实时推送、安全性和性能优化等,将为Flex应用...

    java工程师实习总结.docx

    同时,我还学习了Flex界面开发,了解了如何使用MXML和ActionScript语言构建交互式用户界面。在数据库方面,我学习了Hibernate框架的使用,以及如何操作Oracle数据库来存储和检索数据。这些技术的掌握,让我在参与...

    ArcGIS RIA开发实践【背景篇】【Flex篇】

    ### ArcGIS RIA开发实践【背景篇】【Flex篇】 ...同时,也对ArcGIS Flex API有了初步的认识,包括其基本概念、地图功能组件及具体应用实例等。这对于希望从事GIS开发工作的技术人员来说是非常宝贵的参考资料。

    源码免费课程下载

    3. **UI设计与布局**:学习如何使用Flex提供的各种UI组件来构建美观且实用的界面,并掌握响应式布局技巧。 4. **业务逻辑实现**:通过编写ActionScript代码实现书籍搜索、购物车等功能。 5. **数据库交互**:学习...

    red5入门教程(pdf)

    7. **Red5与Flex/Flash集成**:由于Red5与Adobe Flex和Flash有良好的兼容性,开发者可以使用这些工具创建丰富的用户界面并与Red5服务器进行交互,实现如聊天室、在线视频会议等功能。 8. **错误处理与调试**:了解...

    本科设计开题报告

    Web已经成为网络服务的核心,其中Java Web开发技术,尤其是Struts框架,因其强大的数据库操作能力、交互性和用户管理便捷性受到开发者欢迎。Struts基于MVC模型,拥有丰富的标签库和开源代码等优势。而Flex技术擅长...

    geomajas-plugin-editing-javascript-api-1.15.0-M3.zip

    geomajas-plugin-editing-javascript-api与GWT客户端项目结合,意味着用户可以在GWT环境中利用JavaScript API实现地图数据的交互式编辑。 在压缩包中提到的“geomajas-project-client-gwt-master”可能是指geomajas...

Global site tag (gtag.js) - Google Analytics