- 浏览: 509168 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
michao:
大哥,还有aperture.exe吗? 发我一份,找不到呀,m ...
使用aperture框架让AS3与C++通信,执行本地代码 -
Aaron-Joe-William:
文件被删除了。下不了。
SQLite 数据库加密的一种解决方案 -
hanmiao:
樓主的文章不就是來自IBM Developers里的http: ...
mina 入门 -
howesen:
断包与粘包问题,需要处理下就好了
mina接收数据不全(2) -
sniciq:
git clone --recursive git://git ...
ESB学习笔记(Spring Integration实战)
什么是RemoteObject?
顾名思义,即远程对象。这里指的就是在Flex中获取Java对象。有什么用呢?这样Flex可以更加简
单的获取服务端的数据,比如你在Java中有个方法进行了数据查询,那么你可以很容易通过Flex里的RemoteObject访问到该类,并调用该方
法,最后返回的数据是Flex也兼容的Array对象。
好了,下面开始进行工作....o(∩_∩)o...
1.新建Java类
Source folder : 指定源路径(本例为FlexRemoteObject/src).
Package : 指定包名.
Name : 指定类名.
2.编写RemoteClass内容.
这是一个简单的Class,里面只有一个public方法 sayHello ,带有一个String参数,并且返回一个String.
3.配置BlazeDS的 remoting-config.xml
1).它是RemoteObject和相关远程访问的配置文件.路径位于
2).改写其代码,如下:
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object"
class="flex.messaging.services.remoting.adapters.JavaAdapter"
default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
<!-- 新增内容,destination指定一个RO对象,id将在Flex中进行RO请求时调用. -->
<destinationid="RemoteClassRO">
<properties>
<!-- source指定调用类的全路径 -->
<source>com.test.RemoteClass</source>
<!-- scope指定作用域 -->
<scope>application</scope>
</properties>
</destination>
</service>
注意:在修改了配置文件后可能需要重启web服务器(Tomcat)
4. 编写mxml文件,进行RO请求.
1).打开FlexRemoteObject.mxml文件,编写内容如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="init();">
<mx:Style>
Label{
fontSize:14;
fontFamily:"微软雅黑";
}
TextInput{
fontSize:14;
fontFamily:"微软雅黑"; height:25; width:149; paddingBottom:-4; paddingLeft:4; paddingTop:-2;
}
Button{
fontSize:"12"
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
private var alertCss:CSSStyleDeclaration;
private function init():void{
alertCss = StyleManager.getStyleDeclaration("Alert");
alertCss.setStyle("modalTransparencyColor","haloBlue");
alertCss.setStyle("themeColor","haloBlue");
alertCss.setStyle("fontSize","14");
alertCss.setStyle("fontFamily","微软雅黑");
}
private function callRO():void{
var name:String = txt.text;
if(name==""){
Alert.show("请输入姓名!","提示信息");
}else{
firstRO.sayHello(name);
firstRO.addEventListener(ResultEvent.RESULT,getROResult);
}
}
private function getROResult(e:ResultEvent):void{
Alert.show(e.result.toString(),"远程对象访问");
}
]]>
</mx:Script>
<mx:RemoteObject id="firstRO" destination="RemoteClassRO" />
<mx:Label id="lbl" text="请输入姓名:" x="29" y="49" />
<mx:Button id="btn" click="callRO()" label="RO请求" x="307" y="50" />
<mx:TextInput x="124" y="49" id="txt" text="爷们" />
</mx:Application>
其中:1.<mx:Style></mx:Style>为样式区域,里面为页面的组件设定了样式;
2.<mx:Script></mx:Script>为脚本区域,里面是将调用到的函数;
3.剩下为页面各个组件.
init()函数:主要是为Alert设定相关样式,不作为重点介绍.
callRO()函数:作为请求函数,与页面的Button组件的click事件进行了关联,即当点击Button时,会调用这个callRO()函数.
函数内部对文本框输入内容进行了判断,当输入内容为空时,弹出相关提示;
反之,进入远程对象的方法调用,firstRO.sayHello(name)——其中name为文本框内容,
另外还为firstRO对象添加了一个事件的监听,firstRO.addEventListener(ResultEvent.RESULT,getROResult);
这是告诉firstRO对象,当触发了远程对象的方法调用后,指定哪个函数为回调函数.
getROResult()函数,是一个回调函数,将远程对象方法返回值用消息框的形式显示出来.
上面提到的回调函数,如果对AJAX稍有了解的话,就容易理解了,如果你还不太了解,那么找些资料看看吧,o(∩_∩)o...
5.运行查看,效果如图:
呵呵,感觉还是挺有意思的~~
这个RemoteObject的使用,跟DWR的感觉很相似,有些共通的东西,但是我不会说~~o(∩_∩)o...哈哈
发表评论
-
十个Flex/Air疑难杂症及解决方案简略
2010-05-31 17:17 3341最近去一家台企面 ... -
Windows环境下配置+运行red5源码+AS3连接red5简单示例
2010-04-19 13:39 5181Windows环境下配置+运行red5源码+AS3连接red5 ... -
使用aperture框架让AS3与C++通信,执行本地代码
2010-04-08 16:48 3242我们都知道,AIR的效果是非常出色的,这也是大家喜欢她的原因, ... -
SQLITE入门至精通
2010-04-07 11:13 3004关键 ... -
教你解析FLEX JSON中的一个问题 关于键值 和键
2010-04-01 15:25 2311字符串:message = ' "param&quo ... -
air写文件保存在安装目录
2010-03-31 15:46 3215AIR中..保存文件我们般会像下面这样操作 var f ... -
弱弱的一个小问题,bitmapdata pngencoder base64 bytearray
2010-03-31 14:16 1150好久没写东东了,呵呵。随便写点点。关于bitmapdata如何 ... -
FLASH教程:SWF间的双向通信
2010-03-02 18:23 1357假设有一个主 SWf 名为 m ... -
如何把as文件生成swf格式文件
2010-03-02 18:22 5271一,从http://opensource.adobe.com/ ... -
Flex数据交互方法 :httpservice, webservice, RemoteObject, socket
2010-02-27 17:06 1909【转载】 文章分类:Flash编程 http://h ... -
理解Flash Player 9垃圾回收机制
2010-02-02 18:27 1082理解Flash Player 9垃圾回 ... -
BlazeDS入门教程-很详细-赞原创作者一个
2010-01-11 23:51 1717什么是BlazeDS呢?BlazeDS是一个基于服务器的Ja ... -
一些漂亮的Flex主题下载
2010-01-11 10:31 6156一些漂亮的Flex主题下载1Digg meWindows Cl ... -
通过Stratus 服务器在Flash Player中使用RTMFP 开发 点对点应用(一)
2010-01-08 17:43 5396作者:Jozsef Vass 译者:巴巴鲁 ... -
ActionScript 3.0著名开源库 大集合
2009-12-29 17:26 2023这篇文章开始于对Adrian ... -
Flex 读取XML配置文件总结
2009-11-19 11:45 1982在Flex中我 ... -
一个list定义组件,网上找了很久没有,自己做了一个。
2009-10-29 11:55 1229一个list定义组件,网上找了很久没有,自己做了一个。希望对大 ... -
如何使用Flex RemoteObject components 与JAVA交互
2009-10-08 18:04 52902008-12-25 | 22:53分类:前端开发 ... -
flex 在线录制视频语音
2009-09-12 17:45 3631<?xml version="1.0" ... -
flex 蒙板 遮罩
2009-09-11 17:09 3872方法一 <mx:Image source=&q ...
相关推荐
这个“Remoting简单远程对象实例”着重于介绍如何创建和使用远程对象,使得一个应用程序能够调用另一个应用程序的对象方法,就像它们在同一个进程中一样。 在.NET Remoting中,远程对象被定义为具有公共接口的类,...
远程对象方法调用(Remote Method Invocation,简称RMI)是Java平台中用于分布式计算的一种机制,它允许在不同网络节点上的对象之间进行方法调用,仿佛这些对象都在同一个进程中一样。RMI结合了动态代理和Socket通信...
TIA博途V19无法勾选来自远程对象的PUT.GET访问的解决办法
.NET的远程对象编程(Remoting)是微软.NET框架提供的一种技术,它允许应用程序在不同的进程或甚至不同的计算机之间共享对象。这项技术的核心在于使对象能够跨越进程和网络边界,仿佛它们在同一环境中运行。通过.NET...
然而,在处理耗时操作时,如调用远程对象的方法,直接在主线程上执行会导致UI线程被阻塞,从而影响用户界面的响应性。为了解决这个问题,开发人员会采用异步编程技术。本文将详细探讨在WinForm应用中如何实现异步...
最近有个项目要用到远程对象,回头看了看之前的远程对象感觉都不太适用, 老的版本很稳定,但是基于ADO的。服务端若要连接ORACLE之类的还需要安装驱动,客户端本地还得建个access空数据库。 新版本的asio也一直没有...
本文将深入探讨如何利用Camel调用远程对象,以实现系统间的高效通信。 Apache Camel 是一个用于构建企业级集成解决方案的工具,它具有丰富的组件库,支持诸如HTTP、JMS、FTP、SMTP等多种协议。通过使用Camel,...
在Java编程中,远程方法调用(Remote Method Invocation,RMI)是一种强大的技术,它允许一个Java对象在不同的JVM(Java虚拟机)之间进行通信,实现远程对象的调用,仿佛它们都在同一台机器上运行。这个"JAVA远程...
Hprose 是高性能远程对象服务引擎(High Performance Remote Object Service Engine)的缩写。 它是一个先进的轻量级的跨语言跨平台面向对象的高性能远程动态通讯中间件。它不仅简单易用,而且功能强大。你只需要...
在IT行业中,高性能远程对象服务通讯中间件是构建分布式系统的关键技术之一。它允许不同的应用程序在不同的网络位置之间共享资源和服务,实现高效的数据通信。中间件作为连接不同系统的桥梁,可以极大地提高系统的可...
**JAVA 高性能远程对象服务引擎代码** 在Java开发中,远程对象服务(Remote Object Service)是一种关键的技术,它允许程序在不同的网络节点之间共享和调用对象的方法,实现分布式计算。Hprose是一个高性能的跨语言...
Hprose是一款强大的开源软件,其全称是“高性能远程对象服务引擎”。作为一个跨语言、跨平台的轻量级中间件,Hprose被设计用于实现高性能的远程动态通信。在IT领域,中间件扮演着连接不同应用系统的重要角色,而...
Hprose,全称为“高性能远程对象服务引擎”,是一款旨在提供高效、轻量级、跨语言、跨平台的远程通信中间件。它被设计用来帮助开发者构建分布式应用程序,使得服务端与客户端之间的通信变得简单而快捷。Hprose 的...
**EJB最佳实践:改进远程对象设计** 在Java企业版(J2EE)开发中,Enterprise JavaBeans(EJB)是核心组件之一,用于构建可扩展的、安全的、事务处理的分布式应用程序。EJB最佳实践是提升系统性能、可维护性和可...
HprosePHP是一款高度优化的高性能远程对象服务(Remote Procedure Call, RPC)引擎,专为PHP语言设计。RPC框架使得应用程序能够调用远程服务器上的函数或方法,就像它们是本地调用一样,极大地简化了分布式系统开发...
该项目是针对Hprose协议的Python远程对象服务引擎的设计与实现源码,共包含24个文件,包括20个Python源文件、2个Markdown文档、1个Git忽略文件和1个IN文件。该引擎以其轻量级、跨语言和高效性能著称,旨在提供易学...
在C#环境中,Hprose提供了轻量级、无侵入式且高性能的解决方案,使得开发人员能够轻松实现远程对象调用。下面将详细阐述Hprose的关键特性和在C#中的使用方法。 首先,Hprose的“轻量级”特性意味着它对项目的影响小...
- 在客户端,使用`Activator.GetObject`创建对远程对象的引用,如`Dim remoteObj As MyRemoteClass = CType(Activator.GetObject(GetType(MyRemoteClass), "tcp://server:port/MyService"), MyRemoteClass)`。...
工作录制,语言为成都方言 主要实际操作Flex远程对象实现