2011
-
09
-
14
Flex4与JavaWeb工程基于Blazeds初步整合
Flex
Tomcat
Web
Myeclipse
Adobe
?
按Flex官方的介绍我理解思路是:在MyEclipse模式下新建Java Web工程B,然后将下载好的Blazeds中Blazeds.war解决后将WEB-INF目录下flex、lib、web.xml文件复制并替换到新 建的B工程的WEB-INF文件夹中后就在Tomcat服务器中发布B工程并启动Tomcat服务。接着右击B工程,选择添加/更改项目类型 ->Flex项目类型,紧接着在“添加Flex项目类型”框中选择应用程序服务器类型为J2EE,勾选“使用远程对象访问服务”其下选择 “BlazeDs”,点击“Next”后,在框中填入Tomcat中刚发布B工程的路径以及访问B工程的URL地址与对应的B工程的根目录名字,输出文件 夹就按默认即可,然后点击验证配置。即完成整合内容。
?
一、环境推荐
1、JDK1.6
2、MyEclipse 9.01 M版
3、Flash Builder 4 Plug-in
?
二、工程整合步骤
1、整合采用Blazeds方式,所以需要先到官网下载Blazeds文件,http://flexorg.wip3.adobe.com/blazeds/4.x/17657/blazeds-turnkey-4.0.1.17657.zip?
?
?
?
2、在Myeclipse中新建一个Web Project,名为Flexweb.
?

?
????? 2..在Flexweb/src目录下新建类HelloWorld
Java代码如下:
?
- package?cn.com.talkweb.zz;??
- ?
- ?
- ?
- ?
- ??
- public?class?HelloWorld?{??
- ??
- ????public?HelloWorld()?{??
- ????}??
- ??????
- ????public?String?sayHelloWorld(String?name){??
- ????????return?name+"欢迎您的到来";??
- ????}??
- ??
- }??
?
?
?
????????3.部署应用Flexweb到Tomcat服务器中,并启动tomcat服务。
?

?
??4.为Flexweb添加blazeds支持:
??????解压BlazeDS.war到%TOMCAT_HOME%/webapps目录下文件名为blazeds内包涵了WEB-INF和META-INF文件夹;
??????将%TOMCAT_HOME%/webapps/BlazeDS/WEB-INF/lib目录下面所有jar文件拷贝到 flexweb 的webRoot/WEB- INF/lib 目录下;
??????将%TOMCAT_HOME%/webapps/blazeds/WEB-INF/flex 目录拷贝到Demo的WebRppt/WEB-INF 下;
???? ?拷贝%TOMCAT_HOME%/webapps/BlazeDS/WEB-INF/ 下的web.xml覆盖flexweb的 web.xml;
????? 至此,我们的Flexweb已经具备了blazeds 的功能.
????? 5.为项目增加Flex支持,右键项目名称,点击“添加/更改项目类型”,“添加Flex项目类型”
?

?
?

?
????? 点击"Finish".
?
??????6.编辑Flexweb.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:Script>??
- ????????<![CDATA[??
- ????????????import?mx.controls.Alert;??
- ????????????import?mx.rpc.events.ResultEvent;??
- ??????????????
- ????????????protected?function?myFlex_resultHandler(event:ResultEvent):void{??
- ????????????????var?name:String=event.result?as?String;??
- ????????????????Alert.show(name);??
- ????????????}??
- ????????????protected?function?button1_clickHandler(event:MouseEvent):void??
- ????????????{??
- ??????????????????
- ??????????????????
- ????????????????myFlex.sayHelloWorld(txtName.text);??
- ????????????}??
- ????????]]>??
- ????</fx:Script>??
- ??
- ????<fx:Declarations>??
- ????????<!--?将非可视元素(例如服务、值对象)放在此处?-->??
- ????????<s:RemoteObject?id="myFlex"?destination="mytest"?result="myFlex_resultHandler(event)"/>??
- ????</fx:Declarations>??
- ????<s:Button?x="209"?y="135"?label="按钮"?click="button1_clickHandler(event)"/>??
- ????<s:TextInput?x="166"?y="81"?id="txtName"/>??
- ????<s:Label?x="10"?y="81"?text="添加你想说的内容:"?fontSize="15"?fontWeight="bold"?fontFamily="中易黑体"/>??
- </s:Application>??
?
?
???? 编辑WEB-INF/flex/remoting-config.xml文件:
?? ?<?xml version="1.0" encoding="UTF-8"?>
- <service?id="remoting-service"???
- ????class="flex.messaging.services.RemotingService">??
- ??
- ????<adapters>??
- ????????<adapter-definition?id="java-object"?class="flex.messaging.services.remoting.adapters.JavaAdapter"?default="true"/>??
- ????</adapters>??
- ??
- ????<default-channels>??
- ????????<channel?ref="my-amf"/>??
- ????</default-channels>??
- ???????<!--远程对象-->??
- ????<destination?id="mytest">??
- ????????<properties>??
- ????????????<source>cn.com.talkweb.zz.HelloWorld</source>??
- ????????</properties>??
- ????</destination>??
- </service>??
?
????? 7.右键项目名称,点击properties/Flex构建路径,修改输出文件夹 URL;

??点击properties/Flex编译器修改Flex SDK 版本
??8.运行Flexweb.mxml即可
?
