- 浏览: 407075 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (325)
- 神经网络 (1)
- javascript (11)
- 数据结构 (2)
- 计算机图形学 (11)
- 模式识别 (1)
- 前端开发 (14)
- 机器学习 (11)
- ios开发 (50)
- Python (9)
- HTML5 (4)
- 计算机视觉 (9)
- 数字图像处理 (7)
- 架构设计 (19)
- 数据库设计 (9)
- 算法设计 (59)
- Java (37)
- 其他 (3)
- 游戏开发 (5)
- c++ (17)
- Linux (3)
- TCP/IP (2)
- Flex (41)
- 健康 (6)
- AI (2)
- 工具 (1)
- 数据挖掘 (1)
- 性能优化 (6)
- 综合 (2)
- 网络通信 (12)
- Android (2)
- UML (3)
- 软件设计 (11)
- 编程经验 (7)
- J2EE (1)
- 多媒体技术 (3)
- 数学 (7)
- php (4)
- 设计 (1)
- CS (2)
- 计算机理论 (1)
- 信息安全 (1)
最新评论
-
ahead_zhan:
good good good
flex3控件_ModuleLoader -
lonerzf:
好样的。非常感谢楼主
OpenCV视频教程整理 -
lonerzf:
好样的。谢谢~
OpenCV视频教程整理 -
coding1688:
博主说的不错,我在实现瀑布流布局时也用的masonry插件,有 ...
Javascript 瀑布流式布局及其动态效果的实现 -
snowolf:
除非玩游戏,不然没啥win的事情,或者用win的银行客户端,通 ...
macbook安装操作系统的机理分析
参考:
http://www.cnblogs.com/RocD-DuPeng/articles/1751040.html
一、建立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 package com.rocd.flex.entity; 2 3 import java.io.Serializable; 4 5 public class UserBean implements Serializable { 6 private String userName; 7 private String password; 8 private int age; 9 private String email; 10 11 public String getUserName() { 12 return userName; 13 } 14 15 public void setUserName(String userName) { 16 this.userName = userName; 17 } 18 19 public String getPassword() { 20 return password; 21 } 22 23 public void setPassword(String password) { 24 this.password = password; 25 } 26 27 public int getAge() { 28 return age; 29 } 30 31 public void setAge(int age) { 32 this.age = age; 33 } 34 35 public String getEmail() { 36 return email; 37 } 38 39 public void setEmail(String email) { 40 this.email = email; 41 } 42 } 43
注意,由于这个实体类需要当做Java代码中方法的返回值传递给Flex中的AS代码,所以需要继承Serializable接口,否则将导致异常的发生。
然后,在建立一个供Flex调用的Java类。代码如下
1 package com.rocd.flex.biz; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import com.rocd.flex.entity.UserBean; 7 8 public class UserManager { 9 public List<UserBean> getUserList() { 10 List<UserBean> list = new ArrayList<UserBean>(); 11 for (int i = 0; i < 10; i++) { 12 UserBean user = new UserBean(); 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 return list; 20 } 21 } 22
这里就不连接数据库去操作了,因为本文重点放在Flex调用Java上,所以写个桩数据用以测试。
写完了这两个类,就需要在WebRoot/WEB-INF/flex/remoting-config.xml中配置用以调用这个Java类的信道了。具体代码如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <service id="remoting-service" 3 class="flex.messaging.services.RemotingService"> 4 <adapters> 5 <adapter-definition id="java-object" 6 class="flex.messaging.services.remoting.adapters.JavaAdapter" 7 default="true"/> 8 </adapters> 9 <default-channels> 10 <channel ref="my-amf"/> 11 </default-channels> 12 <destination id="UserManager"> 13 <properties> 14 <source>com.rocd.flex.biz.UserManager</source> 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。代码如下:
package com.rocd.flex.entity { [Bindable] [RemoteClass(alias="com.rocd.flex.entity.UserBean")] public class UserBean { public var userName:String; public var password:String; public var age:int; public var 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 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 3 fontSize="12" initialize="init()"> 4 <mx:Script> 5 <![CDATA[ 6 import com.rocd.flex.entity.UserBean; 7 import mx.collections.ArrayCollection; 8 import mx.rpc.events.ResultEvent; 9 10 private function init():void 11 { 12 UserManager.getUserList(); 13 UserManager.addEventListener(ResultEvent.RESULT,getUserList); 14 } 15 16 private function getUserList(event:ResultEvent):void 17 { 18 var userList:ArrayCollection = ArrayCollection(event.result); 19 var userList_FlexData:ArrayCollection = new ArrayCollection(); 20 for (var i:int = 0; i < userList.length; i++) 21 { 22 var user:UserBean = UserBean(userList.getItemAt(i)); 23 userList_FlexData.addItem(user); 24 } 25 dataGrid.dataProvider = userList_FlexData; 26 } 27 ]]> 28 </mx:Script> 29 <mx:RemoteObject id="UserManager" destination="UserManager" 30 showBusyCursor="true" /> 31 32 <mx:Panel x="32" y="20" width="399" height="285" layout="absolute" title="用户列表"> 33 <mx:DataGrid x="0" y="0" width="379" height="243" id="dataGrid"> 34 <mx:columns> 35 <mx:DataGridColumn headerText="用户名" dataField="userName"/> 36 <mx:DataGridColumn headerText="年龄" dataField="age"/> 37 <mx:DataGridColumn headerText="Email" dataField="email"/> 38 </mx:columns> 39 </mx:DataGrid> 40 </mx:Panel> 41 </mx:Application> 42
启动Tomcat服务器后运行这个Flex程序,如下图所示:
我对Flex与Java交互这块还不是很熟悉,所以有什么不对的地方,或者有更简单的方式,请大家给出建议。
发表评论
-
nginx上搭建HLS流媒体服务器
2013-07-28 13:31 1386转自:http://blog.csdn.net/ ... -
ActionScript最新3D引擎项目(转载)
2012-10-23 19:11 8553D引擎 注:对于3D引擎,渲染的效率和支持的渲染功 ... -
Flash 3D的相关文章推荐
2012-10-12 15:18 0Flash ActionScript 3.0的3D效果处 ... -
深入浅出了解Molehill的底层API-顶点着色器与片段着色器
2012-10-12 11:07 1265转自:http://www.adob ... -
ActionScript 3 和 Flex框架的性能优化
2012-08-29 09:33 761与其在程序写完了之后臃肿得跑不动,不如平时注意这些关键点,时时 ... -
BlazeDS的架构和工作原理简介
2012-06-02 14:09 882参考:http://hi.baidu.com/whlxj ... -
Flex性能优化常用手法总结
2011-06-04 10:29 856参考:http://www.webgamei.com/c ... -
浅谈AMF协议的优与劣
2011-06-03 16:33 1150参考:http://www.router.net.cn/Art ... -
FLASH/ActionScript 性能优化
2011-05-31 21:41 1193一. 图形方面的优化 1. 减少同时在屏幕上物体的个 ... -
FLEX4 中SKINCLASS使用PATH绘制多边形
2011-05-28 18:08 817skinClass中绘制多边形使用Path标签,把绘制 ... -
ActionScript 3 和 Flex框架的性能优化
2011-05-27 16:28 7171 创建新数组时避免使用它的构造函数。 这样做:var a ... -
Flex垃圾回收的一些知识总结
2011-05-27 16:27 844Flex垃圾回收的一些知识 ... -
ActionScript 3.0 性能优化小知识
2011-05-27 16:26 6741、改进算法无论对 ... -
34个有用的ActionScript 3.0的API
2011-05-21 14:20 927ArcGIS API for FlexArcGIS API ... -
ActionScript与Java类型对应表
2011-05-21 09:46 1029当你使用AMF格式进行RemoteObject 调用时,肯定会 ... -
flex 效果
2011-05-19 17:41 7661.旋转 效果:http://www.alex-uh ... -
基于red5的在线视频录制实例和详细注释
2011-05-14 23:03 1575参考:http://www.ccvita.com/130.ht ... -
Converting data from Java to ActionScript
2011-05-07 14:23 976On the client side, the ide ... -
actionscript 3.0 图像处理(通道篇)
2011-05-06 10:30 990问题:1、将图片的R,G,B通道分别分离出来,以RGB模式, ... -
flex弹出窗口与父窗口的交互实现(用回调函数)
2011-04-16 17:46 2142弹出子窗口代码: protected function ad ...
相关推荐
总之,这个“Flex+blazeds+java企业门户网站完整源码”是一个很好的学习资源,可以帮助开发者掌握如何利用Flex构建富用户体验的Web应用,并通过BlazeDS实现与Java后端的有效交互,进而构建高效、功能强大的企业级...
《Flex + BlazeDS + Java 入门搭建与简单应用详解》 在当今的Web开发领域,富互联网应用程序(Rich Internet Applications, RIA)已经成为提升用户体验的重要手段。Flex作为Adobe公司推出的RIA开发框架,搭配...
《Flex+Blazeds与Java Web Project整合详解》 在当今的互联网开发中,富互联网应用(RIA)已经成为提升用户体验的重要手段。Flex作为Adobe提供的一个强大的RIA开发框架,结合Blazeds,可以实现与Java后端的无缝对接...
《Flex + BlazeDS + Java:构建第一个“Hello”程序详解》 在IT行业中,富互联网应用程序(Rich Internet Applications,简称RIA)的开发是一项重要的技术挑战。Flex作为Adobe提供的开源框架,用于创建具有交互性和...
BlazeDS 能够与 Java 对象进行远程交互,调用 POJOs、Spring 服务和 EJB 方法,并且支持消息传递,允许双向通信。 2. AMF 协议 AMF 是一种轻量级的二进制数据格式,用于 Flash Player 和服务器之间的数据交换。与 ...
《Flex+BlazeDS配置详解》 在现代Web开发中,富互联网应用程序(RIA)的交互性和用户体验成为了关键。Flex作为Adobe开发的RIA框架,以其强大的图形界面设计和丰富的交互功能受到广泛欢迎。而BlazeDS是Adobe提供的一...
Flex与Java交互通讯是Web开发中的一个重要话题,它涉及到客户端与服务器端的高效协同工作。Flex,作为Adobe的开源框架,主要用于构建富互联网应用程序(RIA),而Java则是一种广泛使用的后端开发语言,能提供强大的...
### Flex与Java交互详解 #### 一、引言 随着技术的发展,前端开发与后端服务之间的交互变得越来越重要。Flex作为一种流行的富互联网应用程序(RIA)框架,与Java结合使用时能够实现强大的功能。本文将详细介绍如何...
LCDS支持实时消息传输、对象映射、远程方法调用、PDF生成等功能,简化了Flex与后端系统的交互。虽然LCDS是商业产品,但在个人和小规模项目中有免费版本可用。 3. **Blazeds**:Blazeds是Adobe从LCDS中剥离出的开源...
9. **配置 Blazeds**:Blazeds 的配置涉及设置 Java 远程对象(Remote Objects, RO)和消息传递服务,使 Flex 客户端能够与 Java 服务器端进行数据交换。`remoting-config.xml` 文件用于定义目的地(destination),...
### Flex之BlazeDS文档详解 #### 一、BlazeDS概述 ##### 1.1 引言 在Flex开发中,与服务器进行通信是非常重要的环节。传统的HTTPService、WebService、URLLoader及FileReference等组件虽然能够实现基本的通信功能...
【MyEclipse 8.5 + Flex + BlazeDs 通信详解】 在开发富互联网应用程序(RIA)时,MyEclipse 8.5、Adobe Flex 和 BlazeDs 的组合是一种常见的技术选择。MyEclipse 是一个强大的集成开发环境(IDE),特别适合于 ...
### 搭建Flex与BlazeDS环境的步骤详解 #### 步骤一:下载并配置BlazeDS - **下载BlazeDS.war包**:首先,需要从Adobe官方网站或其他可信赖的资源下载BlazeDS的war文件。 - **放置war包**:将下载的war文件放置于...
### Flex+Blazeds与J2ee整合 #### 背景介绍 随着技术的发展,企业级应用开发中,前端与后端之间的交互变得尤为重要。Adobe Flex作为一种强大的RIA(Rich Internet Applications)技术,允许开发者创建丰富的用户...