公司用的是java+flex+Blazeds框架来做的,但是这套框架具体是怎么回事,一直没有搞明白。今天忙里偷闲,写一个Demo看看到底怎么回事。
作为后来者,学习起来就容易许多了,可以参考很多前辈们的墨宝,不胜感激啊!
首先了解下Blazeds是什么?
一个先行者已经有了很好的解释:http://www.open-open.com/home/space-361-do-blog-id-641.html
好了,开始配置吧。
1.首先下载Blazeds的turnkey版,里面直接都带了Tomcat和例子。见附件。
2.把自带的Tomcat启动起来
怎么搞这个网上一搜一大堆 http://wenku.baidu.com/view/7ea982da50e2524de5187eb2.html
3.参考第2步骤可以写一个java类为以后调用它的公共方法,并可以把它编译为class文件了。
我在这里建立了
package com.yeeach; public class HelloWorldService { public String testHelloWorld(String var1) { return "testHelloWorld" + var1; } }
4、打开Tomcat目录:[tomcat-home]\webapps,
1)你应该会看到一个名为“blaseds”的文件夹
2)在blaseds文件夹里,会有一个名为“WEB-INF”的文件夹
3)在WEB-INF文件夹里会有很多文件夹,其中有一个名为“classes”的文件夹。Flex应用程序需要使用到的Java class就是放到这个文件夹里的(如果有包路径,需要建立层层文件夹)
4)还有一个名为“flex”的文件夹,它里面有一个remoting-config.xml,我们要在这个remoting-config.xml文件里添加destination结点来告诉Flex应用程序如何连接上Java class的。在</default-channels>标签之后和</service>标签之前添加以下结点(注意id属性和source结点的值,source结点描述了完整的包路径和类名)
<destination id="HelloWorldService"> <properties> <source>com.yeeach.HelloWorldService</source> </properties> </destination>
5.现在就可以做flex程序了,flex程序配置编译参数
参考:http://www.iteye.com/topic/515865
记得配置完后重启Tomcat。
6.mxml文件:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Declarations> <s:RemoteObject id="remoteObject" destination="HelloWorldService" source="com.yeeach.HelloWorldService" result="resultHandler(event)" fault="faultHandler(event)"/> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; private function resultHandler(e:ResultEvent):void { Alert.show("resultHandler"); } private function faultHandler(e:FaultEvent):void { Alert.show(e.message + "-" + e.headers); } protected function button1_clickHandler(event:MouseEvent):void { remoteObject.world("kenny Test"); } ]]> </fx:Script> <s:Button click="button1_clickHandler(event)"/> </s:Application>
然后编译就可以测试了。