flex blazeds java_Flex使用Blazeds与Java交互及自定义对象转换详解
一、建立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交互及自定义对象转换详解相关推荐
- blazeds调用java_Flex使用Blazeds与Java交互及自定义对象转换详解(转)
一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人. 首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN.JavaEye上下 ...
- flex java oracle_Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据...
一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这个是免费的,呵呵,我是穷人. 首先就是去下载Blazeds的压缩包,这个可以从官网或者CSDN.JavaEye上下 ...
- Java中的dozer对象转换
Java中的dozer对象转换 1.dozer介绍 Dozer是Java Bean到Java Bean映射器,它以递归方式将数据从一个对象复制到另一个对象. dozer是用来对两个对象之间属性转换的工 ...
- 牛客网 Java 工程师能力评估 20 题 - 详解
牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...
- java集合框架史上最详解(list set 以及map)
title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- Java中的异常和处理详解
Java中的异常和处理详解 参考文章: (1)Java中的异常和处理详解 (2)https://www.cnblogs.com/lulipro/p/7504267.html 备忘一下.
- java string()函数_转载java String.split()函数的用法详解
转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...
- 2015年 第06届 蓝桥杯 Java B组 决赛真题详解及小结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
- 2016年 第07届 蓝桥杯 Java B组 决赛真题详解及小结
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
最新文章
- Java中proc是什么意思,在java里头读取/proc/net/dev
- 转大学毕业后拉开差距的原因
- java jstat 命令_java高分局之jstat命令使用(转)
- 用递归将嵌套的JSON对象遍历出来,转为二维数组 或一维数组
- luogu P1307 数字反转
- java工程师求职简历,实战案例
- mate10 android系统,华为Mate10官方固件rom刷机包_华为Mate10完整系统升级包
- vnr光学识别怎么打开_【VNR翻译器下载】Visual Novel Reader(VNR翻译器) v2.0 整合版-开心电玩...
- 【Python】Time模块 ValueError: unconverted data remains: UnicodeEncodeError:
- vit transformer中的cls_token
- Contradiction Detection with Contradiction-Specific Word Embedding
- 联想电脑G40无法使用 非要睡眠后才能启用wifi
- 买一台服务器到底能干什么?可用于这7点!
- 德声科技代理M-Live音视频播放器
- 使用优启通安装最新原装纯净版Win10系统
- 横评美国IaaS“8匹狼”:AWS、GCE、Azure、Rackspace、SoftLayer、Dell、HP、Joyent
- 【linux】循序渐进学运维-printf
- Matlab实现频域滤波——二维傅里叶变换、低通、高通
- 2022淘宝双11喵果总动员怎么玩?天猫双十一喵果组队玩法攻略
- 华为服务器系统进不去,服务器安装系统进不去一直循环
热门文章
- MySQL卸载不干净或Mysql安装失败的解决办法
- JSP文件的中文在浏览器上显示乱码解决方法
- 直播纠纷处理指引已出台,电商直播严监管来了!
- wps带阴影的边框怎么设置_wps如何添加阴影边框-wps设置阴影边框的方法 - 河东软件园...
- 基于Simulink的转速、电流双闭环直流调速系统的建模与仿真
- 怎么使用QQ音乐api搭建个人音乐站点
- Android 创建服务器 NanoHttpd
- React自定义视频全屏按钮
- 我国标准时间授时方法
- 点符号垂直居中 html,word垂直居中 word中垂直居中符号在哪里?