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

 

 

首先下载最新的 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"/> 进行调用下.

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

 

 

时间: 2024-10-08 10:13:10

flex 和java 一起开发.实验远程调用.的相关文章

用于Flex和Java快速开发的Flamingo项目

Exadel的Flamingo项目是一个快速启动后台使用Java构建的RIA应用的工具.在中间层,该工具对Seam和Spring都提供了支持.在 展现层,Flamingo既支持Flex也支持JavaFX.该工具启动应用程序开发的方式与AppFuse项目类似,后者可用于更传统的Java Web层框架.InfoQ与Exadel的Igor Polevoy和Fima Katz进行了交谈以了解更多关于Flamingo的信息. Igor和Fima以分享Flamingo的特性细节作为开场白.现在的特性可以被划

Flex和java开发的参考书

Flex开发的推荐资料,涉及多个方面: 基础 Adobe Flex 4Training from the Source Michael Labriola Jeff Tapper Matthew Boles 基础概念等 Flex 4 in Action Tariq Ahmed Dan Orlando 比较经典的系列图书 Flex和Java的开发 Flex on Java BERNERD ALLMON JEREMY ANDERSON 和java项目如何一起开发的过程,使用maven的形式组织项目 B

架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)

在深入学习zookeeper我想先给大家介绍一个和zookeeper相关的应用实例,我把这个实例命名为远程调用服务.通过对这种应用实例的描述,我们会对zookeeper应用场景会有深入的了解. 远程调用是系统与系统之间的通信机制,它的另一种理解就是进程间的通信.做分布式系统的开发,远程调用技术是其核心技术.远程调用技术可以将一组计算机系统形成一个网络系统,对外提供整体服务,那么这一群的计算机系统就构成了一个更大型,性能更高的计算机系统. 我在前面的博客里介绍了一种分布式网站的架构设计,其中就有一

架构师之路-在Dubbo中开发REST风格的远程调用

概述 dubbo支持多种远程调用方式,例如dubbo RPC(二进制序列化 + tcp协议).http invoker(二进制序列化 + http协议,至少在开源版本没发现对文本序列化的支持).hessian(二进制序列化 + http协议).WebServices (文本序列化 + http协议)等等,但缺乏对当今特别流行的REST风格远程调用(文本序列化 + http协议)的支持. 有鉴于此,我们基于标准的Java REST API--JAX-RS 2.0(Java API for REST

JAVA与.NET的相互调用利用JNBridge桥接模式实现远程通讯

分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用有兴趣的朋友欢迎参考一下利用远程对象实现分布式开发). 从2003年开始.NET当中就盛传着.NET Remoting远程对象调用的分布式开发,.NET Remoting主要用于管理跨应用程序域的同步和异步RPC 会话.在默认情况下,Remoting可以使用 HTTP 或 TCP 协议进行信息通讯,

“.NET研究”JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯

分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用有兴趣的朋友欢迎参考一下利用远程对象实现分布式开发). 从2003年开始.NET当中就盛传着.NET Remoting远程对象调用的分布式开发,.NET Remoting主要用于管理跨应用程序域的同步和异步RPC 会话.在默认情况下,Remoting可以使用 HTTP 或 TCP 协议进行信息通讯,

JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯

分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用有兴趣的朋友欢迎参考一下利用远程对象实现分布式开发). 从2003年开始.NET当中就盛传着.NET Remoting远程对象调用的分布式开发,.NET Remoting主要用于管理跨应用程序域的同步和异步RPC 会话.在默认情况下,Remoting可以使用 HTTP 或 TCP 协议进行信息通讯,

一起谈.NET技术,JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯

分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用有兴趣的朋友欢迎参考一下利用远程对象实现分布式开发). 从2003年开始.NET当中就盛传着.NET Remoting远程对象调用的分布式开发,.NET Remoting主要用于管理跨应用程序域的同步和异步RPC 会话.在默认情况下,Remoting可以使用 HTTP 或 TCP 协议进行信息通讯,

java如何远程调用linux的命令或者脚本

Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar) 使用步骤如下: 1.导包 官网下载: http://www.ganymed.ethz.ch/ssh2/ maven坐标: <dependency> <groupId>com.ganymed.ssh2</groupId> <artifactId>ganymed-ssh2-build</artifactId> <version>210&l