一,前言
首先要准备的当然是TOMCAT与XFIRE框架了.
关于FLEX BUILDER的创建可以参看我上一篇文章FLEX 3 FOR ECLIPSE (LOMBOZ) 的安装
TOMCAT6.0.20 |
XFIRE1.2.6(生火) |
TOMCAT的安装我这里不讲,最基本的,不会的上网查查,一查一大片.
XFIRE的安装我要说说,以前没用过.这次配完也算是个总结吧.
二,搭建XFIRE
最初不知道为什么非要用XFIRE做框架,而不用STRUTS一类的?,后来在网上随便找了一下,个人感觉主要原因与他输出的数据格式有关,XFIRE返回的是一个WSDL,WSDL就是一种XML文件.而STRUTS的强项在不在于此.看来骑兵配匕首果然不合适啊.
不过听说新出的FxStruts是专为FLEX与STRUTS结合而产生的.他可以返回AMF和XML数据.参考 不过目前只出到0.2版,上次更新的还是在08年的7月,就先不考虑他了.
XFIRE框架的结构如下:
XFIRE配置有以下几点:
1修改WEB.XML
在<web-app></web-app>之间加入
MAPPING中的URL-PATTERN里的SERVICES/*代表访问路径为SERVICES下所有请求,如果你改成ABC,那么访问地址也要同样改成ABC/HelloFlexService?wsdl |
2创建SERVICES.XML
要注意下,是SERVICES.XML而不是SERVICE.XML.
然后你需要把他放到WEB-INF--classes--META-INF下,没有路径的自己创建一下就行了.
SERVICES.XML的内容如下:
这里必写的项有<name/><serviceClass/>其它的可有可无.由于我的例子里有两个类文件,一个接口,一个实现.所以用<implementationClass/>定义了他的实现类 com.mark.pojo是我的包名,这个根据自己项目里类存放位置来写. |
3导包
XFIRE1.2.6解压,
根目录下的xfire-all-1.2.6.jar.
以及xfire-1.2.6/lib/*.jar复制到项目的LIB里.
三,实现FLEX的helloWorldFromService
1创建并编译类
HelloFlexService.java
HelloFlexService.java
如果你是用ADOBE的BUILDER新建的FLEX项目的话,你需要用JAVAC手动编译,如果是ECLIPSE新建的TOMCAT项目他会自动编译JAVA->CLASS |
确保CLASS文件放到classes--com--mark--pojo文件夹下.
2在项目的SRC文件夹下创建HelloWorld.mxml
内容如下:
简单的说下执行流程, 1.启动FLEX时先执行mx:Text中text里的{greetingWord}方法,将text里的值与greetingWord变量绑定. 2.触发mx:Application中creationComplete里的wsHelloFlex.sayHello()执行后台类. 3.应用XFire,执行mx:webService里的wsdl语句,返回结果后,调用greeting()方法将lastResult的值放到Text中 |
3启动TOMCAT,运行FLASH文件查看结果如下.