首页 > 代码库 > Flex入门(二)——Flex+BlazeDs+J2ee小实例
Flex入门(二)——Flex+BlazeDs+J2ee小实例
首先来简单介绍一下BlazeDS。 BlaseDS的核心功能包括RPC Services(远程过程调用服务) 和Messaging Service(消息服务)。BlazeDS是一个基于服务器的Java远程调用(remoting)和web消息传递(messaging)技术,使得后台的Java应用程序可以和运行在浏览器上的Flex应用程序能够互相通信。简单来说一个BlazeDS应用包括客户端(Flex或AIR应用程序)和一个服务端(J2EE程序)。BlazeDS在期间起着承上启下的作用,Flex和BlazeDS可以通过RemoteObject,HttpService,WebService三种。而Flex和Java通过BlazeDS通信最常用的是Object形式的,这样不仅能大大简化彼此的操作,而且这种通讯方式通过AMF(AMF协议是ActionMessage Format协议)大大提高了通信速度,提高了用户的体验度。
a
更多BlazeDS的知识,请看细细品味Flex——BlazeDS开发指南 和百科:BlazeDS百科。
下边简单看一个搭建Flex+BlazeDS+J2EE的简单项目。
首先Flex项目和Web项目的整合方法有三种:1,各自独立开发;2Flex项目集成Web功能;3,Web项目集成Flex功能。其实开发出来的结果都是一样的,只不过途径方式不同,需要我们注意的是Flex的各种路径。这里看一下Flex项目集成Web功能的方式。
一,建立一个Flex项目:
Next目录相关设置,然后 Next,点击完成即可
生成项目的结构图:
二,添加J2EE功能:右击Flex项目,进行添加,选择J2EE5.0完成即可。
项目整合完毕,变成了J2EE的项目,看一下目录视图:
三,项目开发,建立一个Java类:
package com.test;
public class HelloJavaFlex {
public String helloJavaFlex(String name){
System.out.println("Java通信了");
return "Hello" + name;
}
}
在WebRoot下的flex下services-config.xml中添加:
<destination id="helloJavaFlex">
<properties><source>com.test.HelloJavaFlex</source></properties>
</destination>
在FlexHello.mxml中添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
public function remotingHelloJavaFlex():void{
var logNam: String = namInputTxt.text;
remoteHello.helloJavaFlex(logNam);
remoteHello.addEventListener(ResultEvent.RESULT, getRoHelloRes);
}
private function getRoHelloRes(e: ResultEvent) :void {
Alert.show(e.result.toString());
}
]]>
</mx:Script>
<mx:RemoteObject destination="helloJavaFlex" id="remoteHello"></mx:RemoteObject>
<mx:Button label="JAVA+FLEX通信" click="remotingHelloJavaFlex();" x="121" y="96" fontSize="12"
width="209"/>
<mx:Label text="姓名:" x="121" y="55" fontSize="12"/>
<mx:TextInput id="namInputTxt" x="170" y="55"/>
</mx:Application>
然后部署Tomcat,进行右击FlexHello.mxml进行访问,Flex和Java进行了通信。这就是最简单的flex+BlazeDS+J2ee进行通信。