一、建立Flex与Java交互的工程。

本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人。

首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN、JavaEye上下到。解压缩这个包,将里面的Blazeds.war解压,后面建立工程时要使用。

在MyEclipse中建立一个web工程,名为FlexTest。(注意:这个工程的JDK一定是1.5或以上版本,本文使用6.0)

将刚才解压的Blazeds.war包中的“META-INF”与“WEB-INF”文件夹以及文件夹中的内容拷贝到工程的WebRoot下。

WEB-INF中包含有Flex的配置文件以及Blazeds需要的Jar包。这时我们就可以在这个工程中写入Java代码了。本文以一个用户列表为例,

建立用户实体类。代码如下:

代码

1 packagecom.rocd.flex.entity;2 3 importjava.io.Serializable;4 5 publicclassUserBeanimplementsSerializable {6 privateString userName;7 privateString password;8 privateintage;9 privateString email;10 11 publicString getUserName() {12 returnuserName;13 }14 15 publicvoidsetUserName(String userName) {16 this.userName=userName;17 }18 19 publicString getPassword() {20 returnpassword;21 }22 23 publicvoidsetPassword(String password) {24 this.password=password;25 }26 27 publicintgetAge() {28 returnage;29 }30 31 publicvoidsetAge(intage) {32 this.age=age;33 }34 35 publicString getEmail() {36 returnemail;37 }38 39 publicvoidsetEmail(String email) {40 this.email=email;41 }42 }43

注意,由于这个实体类需要当做Java代码中方法的返回值传递给Flex中的AS代码,所以需要继承Serializable接口,否则将导致异常的发生。

然后,在建立一个供Flex调用的Java类。代码如下

代码

1 packagecom.rocd.flex.biz;2 3 importjava.util.ArrayList;4 importjava.util.List;5 6 importcom.rocd.flex.entity.UserBean;7 8 publicclassUserManager {9 publicListgetUserList() {10 Listlist=newArrayList();11 for(inti=0; i<10; i++) {12 UserBean user=newUserBean();13 user.setUserName("用户"+i);14 user.setPassword("123");15 user.setAge(20+i);16 user.setEmail("user"+i+"@aaa.com");17 list.add(user);18 }19 returnlist;20 }21 }22

这里就不连接数据库去操作了,因为本文重点放在Flex调用Java上,所以写个桩数据用以测试。

写完了这两个类,就需要在WebRoot/WEB-INF/flex/remoting-config.xml中配置用以调用这个Java类的信道了。具体代码如下:

代码

1 xml version="1.0" encoding="UTF-8"?>2 4 5 8 adapters>9 10 11 default-channels>12 13 14 com.rocd.flex.biz.UserManagersource>15 properties>16 destination>17 service>

其中destination就是信道,properties是可以配置多个Java类,source是配置要调用Java类的包路径。

到此,Java部分的代码就写完了。下面是Flex中的代码。

在Flex Builder中创建一个Flex工程。名称为FlexApp。如图所示

注意Project Location的Folder要选择MyEclipse建立的Web工程的WebRoot下。Server technology选择J2EE

点击[Next]按钮进入下一页。如图

注意Server location中Root folder要选择Java Web工程的WebRoot路径。Root URL是Java web工程的访问路径,由于使用的是Tomcat服务器,工程名为FlexTest,所以路径是http://localhost:8080/FlexTest/,而

Context root则是Java Web项目的工程名。完成后点击那个[Validate Configuration]进行验证,如果窗口上方显示如上图所示的“黄三角”就说明可以进行下一步操作了。

顺利建立完Flex工程后,需要注意是否报错,如果报错,请注意调整Flex SDK的版本。

没问题后,就要创建一个AS的类,用来接收Java程序的返回值了,也就是那个UserBean。代码如下:

代码

packagecom.rocd.flex.entity

{

[Bindable]

[RemoteClass(alias="com.rocd.flex.entity.UserBean")]publicclassUserBean

{publicvar userName:String;publicvar password:String;publicvar age:int;publicvar email:String;

}

}

这里[Bindable]是可绑定的,[RemoteClass(alias="com.rocd.flex.entity.UserBean")]是和Java代码中的UserBean类关联起来。这样就可以利用类型转换来将Java对象转换为AS对象了。

现在让我们在Flex中调用这个Java代码吧。代码如下:

1 xml version="1.0" encoding="utf-8"?>2 4

启动Tomcat服务器后运行这个Flex程序,如下图所示:

我对Flex与Java交互这块还不是很熟悉,所以有什么不对的地方,或者有更简单的方式,请大家给出建议。

flex blazeds java_Flex使用Blazeds与Java交互及自定义对象转换详解相关推荐

  1. blazeds调用java_Flex使用Blazeds与Java交互及自定义对象转换详解(转)

    一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人. 首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN.JavaEye上下 ...

  2. flex java oracle_Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据...

    一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人. 首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN.JavaEye上下 ...

  3. Java中的dozer对象转换

    Java中的dozer对象转换 1.dozer介绍 Dozer是Java Bean到Java Bean映射器,它以递归方式将数据从一个对象复制到另一个对象. dozer是用来对两个对象之间属性转换的工 ...

  4. 牛客网 Java 工程师能力评估 20 题 - 详解

    牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...

  5. java集合框架史上最详解(list set 以及map)

    title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...

  6. java多线程中的join方法详解

    java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...

  7. Java中的异常和处理详解

    Java中的异常和处理详解 参考文章: (1)Java中的异常和处理详解 (2)https://www.cnblogs.com/lulipro/p/7504267.html 备忘一下.

  8. java string()函数_转载java String.split()函数的用法详解

    转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...

  9. 2015年 第06届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  10. 2016年 第07届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

最新文章

  1. Java中proc是什么意思,在java里头读取/proc/net/dev
  2. 转大学毕业后拉开差距的原因
  3. java jstat 命令_java高分局之jstat命令使用(转)
  4. 用递归将嵌套的JSON对象遍历出来,转为二维数组 或一维数组
  5. luogu P1307 数字反转
  6. java工程师求职简历,实战案例
  7. mate10 android系统,华为Mate10官方固件rom刷机包_华为Mate10完整系统升级包
  8. vnr光学识别怎么打开_【VNR翻译器下载】Visual Novel Reader(VNR翻译器) v2.0 整合版-开心电玩...
  9. 【Python】Time模块 ValueError: unconverted data remains: UnicodeEncodeError:
  10. vit transformer中的cls_token
  11. Contradiction Detection with Contradiction-Specific Word Embedding
  12. 联想电脑G40无法使用 非要睡眠后才能启用wifi
  13. 买一台服务器到底能干什么?可用于这7点!
  14. 德声科技代理M-Live音视频播放器
  15. 使用优启通安装最新原装纯净版Win10系统
  16. 横评美国IaaS“8匹狼”:AWS、GCE、Azure、Rackspace、SoftLayer、Dell、HP、Joyent
  17. 【linux】循序渐进学运维-printf
  18. Matlab实现频域滤波——二维傅里叶变换、低通、高通
  19. 2022淘宝双11喵果总动员怎么玩?天猫双十一喵果组队玩法攻略
  20. 华为服务器系统进不去,服务器安装系统进不去一直循环

热门文章

  1. MySQL卸载不干净或Mysql安装失败的解决办法
  2. JSP文件的中文在浏览器上显示乱码解决方法
  3. 直播纠纷处理指引已出台,电商直播严监管来了!
  4. wps带阴影的边框怎么设置_wps如何添加阴影边框-wps设置阴影边框的方法 - 河东软件园...
  5. 基于Simulink的转速、电流双闭环直流调速系统的建模与仿真
  6. 怎么使用QQ音乐api搭建个人音乐站点
  7. Android 创建服务器 NanoHttpd
  8. React自定义视频全屏按钮
  9. 我国标准时间授时方法
  10. 点符号垂直居中 html,word垂直居中 word中垂直居中符号在哪里?