Flex作为RIA的一支,提供了非常丰富多彩的客户端实现,并且编写起来非常灵活.Java提供了强大的功能实现,与Flex结合也让Java开发穿上了华丽外衣 .

BlazeDS 是LCDS的一个衍生版 ,为Flex和Java的交互提供通信桥梁 .BlazeDS起到的作用并没有多么难理解,和SSH框架内部机制类似的是,都是提供了一种反射服务.比如,在Spring中我们使用IoC特性,这些都是依靠的Java底层的反射机制.

简单说Flex / BlazeDS /Java ,三者之间,BlazeDS提供一种映射,使得Flex前端编码能够使用服务端的Java类.

remoting-config.xml文件:

<?xml version="1.0" encoding="UTF-8"?><service id="remoting-service" class="flex.messaging.services.RemotingService"><adapters><!--Java对象 的适配器--><adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/></adapters><default-channels><channel ref="my-amf"/></default-channels><destination id="userService"><properties><source>com.java.Service.UserService</source></properties></destination></service>

在Flex前端,通过使用Flex提供的RemoteObject关键字,来获取映射中的Java对象,(关于Flex内部的一些有意思的机制,还是要好好细心学习的,这方面了解不多,就不卖弄了.)

<fx:Declarations><mx:RemoteObject destination="userService" result="processResult(event)"id="us" fault="Alert.show(event.fault.message.toString())"endpoint="http://localhost:8080/BlazeDS_Java_Flex/messagebroker/amf"></mx:RemoteObject></fx:Declarations>

现在,我们的Flex前端就已经能够调用服务端的Java方法了.

在最初接触Flex与Java交互时,都是需要做一个传参示例.主要是传自定义类型参数(user:Users)和普通数据类型参数(str:String).

这里,大家要注意,我们自定义类型(Java类) ,要在Flex端进行OO编程,需要拆箱装箱,那么就需要Flex端能够识别Java类,这里就要提到Flex内部的一种映射机制.

创建一个ActionScript类,如下

package com.flex.vo
{[Bindable][RemoteClass(alias="com.java.entity.Users")]public class Users{//注意,需要写好构造函数public function Users(){}private var _name:String;private var _password:String;public function get name():String{return _name;}public function set name(value:String):void{_name = value;}public function get password():String{return _password;}public function set password(value:String):void{_password = value;}}}

这样经过Flex的内部映射,在Java端和Flex端,我们有了对应的一个实体类Users类,那么我们就可以OO编程,在Flex前端,使用AS的实体类进行装箱,然后做参传递给Java类,这样就能够完成了二者之间的自定义数据类型参数的传递.

框架应用都是浮云,底层提供的反射机制是王道啊.

不管你信不信,反正我是信了.

转载于:https://www.cnblogs.com/lfsfxy9/archive/2011/08/16/2629255.html

Flex前端与Java服务端交互,反射机制挑大旗相关推荐

  1. 前端(Javascript) + JAVA 服务端如何处理 HTTP 断点续传

    需求场景 为什么需要断点续传? 假如在生产环境客户或操作上传一个很大的文件(可能有1个G),由于现场网络环境很差,上传到0.5个G的时候突然网络断开了,又要重新上传.客户或操作深吸了一口气,重新上传了 ...

  2. java服务端异步处理机制_Java异步处理机制实例详解

    通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而异步则意味着某个处理过程可以允许多个线程同时处理.下面我们就来看看有关异步处理的详细内容. 异步通常代表着更好的性能,因为它很大程度上 ...

  3. Flex通信-Java服务端通信实例

    Flex与Java通信的方式有很多种,比较常用的有以下方式: WebService:一种跨语言的在线服务,只要用特定语言写好并部署到服务器,其它语言就可以调用 HttpService:通过http请求 ...

  4. 基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据交互

    基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据交互 一.前言 1.Java服务端程序代码的项目名为TcpSocketServerOfJava,包名为com.exam ...

  5. java服务端开发 php_PHP使用thrift做服务端开发

    php中文网最新课程 每日17点准时技术干货分享 php使用thrift做服务端开发 thrift采用接口描述语言定义和创建服务,用二进制格式传输数据,体积更小.效率更高,对于高并发.数据量大和多语言 ...

  6. 那些年,我们见过的 Java 服务端“问题”

    导读 明代著名的心学集大成者王阳明先生在<传习录>中有云: 道无精粗,人之所见有精粗.如这一间房,人初进来,只见一个大规模如此.处久,便柱壁之类,一一看得明白.再久,如柱上有些文藻,细细都 ...

  7. JAVA服务端的解码

    JAVA服务端的解码        引起乱码问题的缘由是编码与解码方法的不对称,为了能和客户端正确的交互,需要了解下服务端是何时,何处以及如何对内容进行编解码的.按照请求处理的过程,我们先来一一分析一 ...

  8. 支付宝APP支付Java服务端

    支付宝APP支付Java服务端: 公司项目要求对接支付宝进行支付功能,这边做出整理方便以后使用(支付宝的支付对接还是很简单的). 1):去支付宝开放平台,-1.注册账号,2.创建应用 3.配置应用 4 ...

  9. JAVA服务端实现页面截屏(附代码)

    JAVA服务端实现页面截屏 适配需求 方案一.使用JxBrowser 使用步骤: 方案二.JavaFX WebView 使用步骤: 方案三.Headless Chrome 使用步骤: 综上方案对比 记 ...

最新文章

  1. 缓存方式之cookie的使用
  2. vs2010 将.mc编译为.rc文件
  3. Linux /etc/profile文件详解
  4. 解锁云原生 AI 技能|在 Kubernetes 上构建机器学习系统
  5. 你需要来自trustedinstaller的权限才能删除_前后端分离后的权限控制设计方案
  6. 同一个类 cannot be cast to_2021年动漫类年历推荐
  7. arma模型平稳性和可逆性的条件_时间序列预测模型ARIMA实现
  8. 佛系程序员:什么bug不bug的,随缘吧
  9. vue-router的两种模式
  10. 开源免费CRM云端的客户管理系统SuiteCRM简介(视频)
  11. C语言——恶搞关机小程序
  12. 大气化学实验卫星 ACE-FTS(SCISAT) 相关介绍
  13. CentOS7 DM-Multipath+HUAWEI OceanStor存储多路径配置
  14. Centos Denyhosts 一键安装配置脚本
  15. 第二次作业:网易云音乐案例分析
  16. 我们公司的短信接口被刷了,瞬间损失两万,怎么解决?(短信接口被盗刷系列1)
  17. 为什么华为、阿里、字节跳动、微软等都走上了云原生和数字化之路?
  18. 办理3C认证多少钱?包含哪些费用?
  19. 怎样看服务器是什么操作系统,如何看服务器是什么操作系统
  20. jase--接口学习

热门文章

  1. ubuntu pdf转jpg或txt
  2. Shell命令-文件及目录操作之mkdir、mv
  3. Kubernetes(五) - Service
  4. 【JavaScript】核心语法之数组
  5. Hive应用:外部分区表
  6. EOS下控制台以及图形界面打印sql语句
  7. 专注、突围、转型—2015协同OA市场盘点
  8. OCP 042全真试题讲解
  9. [shiro] - 怎样使用shiro?
  10. shiro系列一、认识shiro