`

flex 和java 一起开发.实验远程调用.

    博客分类:
  • flex
阅读更多

 

 

首先下载最新的 BlazeDS

 

http://opensource.adobe.com/blazeds/

 

最新BlazeDS下载地址.

 

http://opensource.adobe.com/wiki/display/blazeds/Release+Builds

 

下面就开始使用flex 创建一个 带java 的web 工程了.

 

创建工程

 

下载的是一个 war 文件..不用解压缩. 这个在创建工程的时候用到.

 


创建一个 flex的工程.
 

 选择 J2EE.

设置 flex 生成文件目录.我是直接修改成WebContent/flex_web文件夹下面

方便flex 编译后 直接放到这个地方.而不用再拷贝一下了.
 

设置flex 源文件 目录.
 


 

 

这样编译后的flex 就放到 WebContent下面的flex_web文件夹了.

而编译后的java 还放到 WEB-INF/classes文件夹下面.

并且在war里面的lib也一起拷贝过来了.


 然后启动tomcat.6.0

 

就可以访问.

运行远程调用.

然后引用 flex 开发宝典的例子.


下载地址.:

 

http://as.wiley.com/WileyCDA/WileyTitle/productCd-0470287640,descCd-DOWNLOAD.html?filter=DOWNLOAD

 

第 chapter24 的源文件夹.

 

修改配置编译文件.选择工程属性.

 

添加源文件.

 


然后 修改

 

remoting-config.xml

 

添加

<destination id="helloClass">
		<properties>
			<source>flex3Bible.ROService</source>
			<scope>application</scope>
		</properties>
	</destination>

 

添加一个远程访问的类.

 

类就是一个普通的pojo类.

 

public class ROService {

	public ROService() {
		System.out.println("初始化类.");
	}

	public String helloWorld() {
		System.out.println("函数被调用.");
		return "Hello from the world of Java";
	}
...

flex调用代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  backgroundColor="#EEEEEE">
  
  <mx:Script>
    <![CDATA[
      import mx.rpc.remoting.mxml.Operation;
      private function callIt():void
      {
        var op:Operation = roHello.getOperation("helloWorld") as Operation;
        op.send();
      }
    ]]>
  </mx:Script>
  
  <mx:RemoteObject id="roHello" destination="helloClass"/>
    
  <mx:Label text="Hello from BlazeDS!" fontSize="14" fontWeight="bold"/>
  
  <mx:Button label="Click to say hello" click="callIt()"/>
  
  <mx:Label text="{roHello.helloWorld.lastResult}"
    fontSize="14" fontWeight="bold"/>
  
</mx:Application>
 

 

 然后访问 tomcat 地址:

 

http://127.0.0.1:8080/chapter24_test/flex_web/CallOperation.html

 

发现调用不成功.弹出 debug 错误信息. (ie 下面安装了 flashplayer_10_ax_debug)

 


从错误信息可以很明显的发现是 访问不到服务.

 

'http://127.0.0.1:8080/WebContent/messagebroker/amf'"

 

我的tomcat 路径不是这个 .WebContent是文件夹的名字.

 

最后找到问题.

 

修改 工程属性 的 serve 配置.

 


修改了配置文件后. 重新编译 flex 文件.

不知道这个配置文件是否和flex生成的文件有关系.就重新编译了下.

 

访问页面可以调用.

 


显示 是从 java的服务端调用.


总结:

 

工具配置生成.做了好多事情.剩下的就是在.remoting-config.xml里面添加自己的java类.然后在flex里面调用.

 

<mx:RemoteObject id="roHello" destination="helloClass"/> 进行调用下.

这样就可以通信了.工程里面还有几个例子.大同小异.

 

 

  • 大小: 16.2 KB
  • 大小: 10.3 KB
  • 大小: 20.2 KB
  • 大小: 15.5 KB
  • 大小: 17.6 KB
  • 大小: 19.7 KB
  • 大小: 23.1 KB
  • 大小: 6.8 KB
  • 大小: 20 KB
  • 大小: 2.2 KB
0
1
分享到:
评论

相关推荐

    Flex与java交互 远程调用方式

    在Flex和Java之间进行远程调用,最常见的技术之一是使用AMF(Action Message Format)。AMF是一种二进制数据格式,能够高效地序列化和反序列化ActionScript对象,使得 Flex与Java之间的数据交换更为快速和高效。...

    flex使用BlazeDS远程调用java例子.

    总结来说,"flex使用BlazeDS远程调用java例子"涉及到的技术主要包括Flex前端开发、BlazeDS作为中间件以及Java后端服务的创建。这个例子展示了如何利用Flex的强交互性和BlazeDS的高效通信能力,构建一个跨平台的RIA...

    flex java 项目整合.rar

    BlazeDS支持AMF(Action Message Format)协议,能高效地传输数据,同时提供了Remoting和Message Broker服务,使得Flex可以调用Java的远程方法并实现事件推送。配置BlazeDS,需要在Java应用服务器如Tomcat中部署...

    flex-messaging-core.jar

    Flex Messaging Core是Flex Remoting模块的关键部分,提供了远程方法调用(RMI)的能力,使客户端可以像调用本地方法一样调用远程服务器上的服务。 在flex-messaging-core.jar中,包含了一些关键组件和接口,例如: ...

    flex调用java方法.pdf

    总结来说,Flex调用Java方法的关键在于配置Blazeds,定义Java服务,以及在Flex客户端使用`RemoteObject`进行远程调用。这个过程涉及到Flex和Java的集成,Blazeds作为桥梁,使得客户端能够透明地调用服务器端的业务...

    基于BlazeDS实现股票系统中Flex与Java的通信.pdf

    2. 远程方法调用:通过BlazeDS,Flex可以调用Java的算法和数据库连接,从而实现了实时的业务逻辑调用。 3. 消息队列:通过BlazeDS,Flex可以实现消息队列的功能,从而实现了实时的股票消息推送。 基于BlazeDS技术...

    Flex与Java通信项目.pdf

    - 实现`clickHandler()`、`resultHandler()`和`faultHandler()`方法,分别处理按钮点击、远程方法调用成功和失败的事件。 在这个项目中,用户在Flex客户端的输入框中输入文本,点击“Say”按钮,`clickHandler()`...

    flex-messaging系列jar包

    6. **flex-messaging-remoting.jar**:远程方法调用(Remoting)是Flex Messaging的重要组成部分,这个JAR包实现了Flex客户端与Java后端之间的远程对象调用。通过使用Flex Remoting,开发者可以像调用本地对象一样...

    Flex_LCDS_Java.rar_flex

    4. **Flex与Java通信**:使用AMF(Action Message Format)协议进行数据交换,创建Flex客户端与Java服务端的连接,展示如何定义和调用远程服务。 5. **数据管理和服务**:讲解如何使用LCDS的LiveCycle Data ...

    Flex-LCDS-Java.rar_LCDS_flex_flex java

    Flex、LCDS(LiveCycle Data Services)和Java的结合是Adobe Flex开发中常见的技术栈,主要用于构建富互联网应用程序(Rich Internet Applications,RIAs)。本文将深入探讨这些技术及其相互之间的协同工作方式。 ...

    flex企业应用开发实践.pdf

    书中详细介绍了BlazeDS的工作原理和使用方法,包括消息处理、远程调用、数据推送等功能,以及如何配置BlazeDS与Java应用服务器的集成。通过BlazeDS,开发者能够轻松实现Flex与Java之间的实时数据同步,提升应用的...

    flex_lcds_java.rar_flex

    6. **Java集成**:通过LCDS,Flex可以直接调用Java的远程方法(RPC),使用JavaBeans或EJB作为数据源,或者将Java集合暴露给Flex客户端。 7. **数据推送**:LCDS支持双向通信,允许服务器主动向客户端推送数据,这...

    Flex调用Webservice及java程序

    综上所述,Flex调用Web服务和Java程序涉及到多个技术层面,包括Web服务的调用方式、Flex与Java的集成、事件驱动编程以及错误处理等。理解并掌握这些知识点,将有助于构建高性能、交互性强的Flex应用。

    flexjava-sockete.rar

    综上所述,"flexjava-sockete.rar"文件可能包含了一个使用FlexJava进行Socket通信的实例,涵盖了从基础的Socket连接创建到数据传输、异常处理以及可能的多线程和安全性方面的内容。通过学习和实践这个项目,开发者...

    flex与java远程传值demo

    Flex与Java远程传值是Web开发中的一个重要技术组合,它允许富互联网应用程序(RIA)如Flex客户端与服务器端的Java应用进行数据交换。本示例是一个综合性的项目,包括两个模块:一个基于Flex的前端应用和一个基于Java...

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立).pdf

    Flex和Java都是成熟的技术,它们各自在开发领域内扮演重要角色。而BlazeDS是一个开源的Java库,主要用于在Java服务器端与Adobe Flex前端之间进行实时数据通信,它支持AMF(Action Message Format)协议。在Flex+Java...

    [Flex.on.Java(第1版)].(Flex.on.Java).Bernerd.Allmon&Jeremy;.Anderson.文字版

    6. **数据访问和持久化**:讲解了如何通过Hibernate或其他ORM工具在Java后端处理数据库操作,以及如何通过Flex客户端进行远程调用。 7. **性能优化**:提到了一些提升Flex应用性能的策略,例如减少网络通信、优化...

    新建Flex+Java的WEB项目

    8. **Flex与Java通信**:使用BlazeDS/LCDS,我们可以创建Flex Remoting配置,定义在客户端和服务器之间的远程方法调用。这允许Flex应用直接调用Java服务,获取和更新数据。 9. **数据模型和服务接口**:在Java端...

Global site tag (gtag.js) - Google Analytics