首页 > 代码库 > Flex入门(二)——Flex+BlazeDs+J2ee小实例

Flex入门(二)——Flex+BlazeDs+J2ee小实例

         首先来简单介绍一下BlazeDS BlaseDS的核心功能包括RPC Services(远程过程调用服务) 和Messaging Service(消息服务)。BlazeDS是一个基于服务器的Java远程调用(remoting)和web消息传递(messaging)技术,使得后台的Java应用程序可以和运行在浏览器上的Flex应用程序能够互相通信。简单来说一个BlazeDS应用包括客户端(FlexAIR应用程序)和一个服务端(J2EE程序)。BlazeDS在期间起着承上启下的作用,FlexBlazeDS可以通过RemoteObject,HttpService,WebService三种。而FlexJava通过BlazeDS通信最常用的是Object形式的,这样不仅能大大简化彼此的操作,而且这种通讯方式通过AMF(AMF协议是ActionMessage Format协议)大大提高了通信速度,提高了用户的体验度。

a


            更多BlazeDS的知识,请看细细品味Flex——BlazeDS开发指南 和百科:BlazeDS百科

 

           下边简单看一个搭建Flex+BlazeDS+J2EE的简单项目。


           首先Flex项目和Web项目的整合方法有三种:1,各自独立开发;2Flex项目集成Web功能;3Web项目集成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下的flexservices-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进行访问,FlexJava进行了通信。这就是最简单的flex+BlazeDS+J2ee进行通信。