Flex整合Java

BlazeDS是flex与java平台进行交互的工具
BlazeDS(免费)可以看成是LCDS(收费)的一个子集,而且是一个开源产品

准备工作:
1.MyEclipse6.1+Flex插件
2.Tomcat6.0
3.这是下载BlazeDS Turnkey版(内置了Tomcat和Flex3 SDK,还包含blazeds.war、ds-console.war和samples.war)
Binary Distribution版只包括blazeds.war,此为最简配置
blazeds.war、ds-console.war、samples.war三个包放在Tomcat的webapps目录下

Flex+Java配置一般有三种:
[color=red]一.Java工程和Flex工程独立[/color]
1.当然是先建一个java工程,把需要的包导入,配置文件写好,web.xml参考Blazeds的例子,导入Tomcat就ok;
2.然后建一个flex工程,在Server Technology处选择J2EE,然后选择使用LCDS,next;
3.Web root选择你发布到tomcat中的java工程目录,Root URL写入你要再浏览器中访问该项目的url,Context root写你的java工程名;
4.请确保已经开启tomcat服务,然后点击Valdate Configuration按钮,没有任何错误提示点击Finish即完成项目创建,此flex项目中最后的编译swf文件都会保存在tomcat下的工程目录的一个(flex项目名称)-debug文件夹中,当然你也可以更改这个路径就在output folder那
5.注意:项目建好后右击工程选择属性->flex complier,flex sdk version 一定要更改,一般选default SDK就可以了,不要使用默认的serverSDK,这一步很重要,因为你建的是LCDS支持的项目,LCDS是支持服务器端编译的,Blazeds并不支持,这也是为什么有些人配置Blazeds不能够正常编译的原因。

[color=red]二.Flex工程加入Java元素[/color]
1.切换到Flex视图,新建Flex project:FlexProjectAddJ2ee
说明:服务器选择J2EE
勾选Create combined Java/Flex project using WTP
2.点击Next,配置J2EE服务器
说明:Target runtime:指定tomcat的安装目录即可
Context root:项目名称FlexProjectAddJ2ee
Content folder:WebRoot
Flex WAR file:D:\tomcat6.0.26\webapps\blazeds.war
Output folder:自定义输出路径,一般设置成根目录WebRoot
3.点击下一步,采用默认的配置就可以,点击完成,该工程就建立完成
4.让它变成web工程由MyEclipse发布吧
右键项目-->MyEclipse-->Add Web Project Capabilities...
勾掉Create Web.xml避免覆盖,选择J2EE5.0
点击Finish,现在我们的工程的图标变成了J2EE Web工程了,这意味着,你可以用MyEclipse来发布它或者添加更多容器
比如hibernate、spring等
5.工程建好以后,可以通过右键-->属性来进行更多的设置
这样一个Flex+Java的工程就建立完成

[color=red]三.Web工程加入Flex元素[/color]
1.先建立一个Web工程:WebProjectAddFlex
2.向Web工程手工添加Flex需要的元素
首先将BlazeDS需要的jar文件拷到工程的lib目录下(可以将上面建的FlexProjectAddJ2ee项目lib下的jar文件拷到该工程下的lib目录中)
然后要加入Flex BlazeDS需要的配置文件(将FlexProjectAddJ2ee项目WEB-INF文件夹下的flex文件夹拷贝到该项目的WEB-INF下)
最后修改web.xml文件,加入Flex的配置(拷贝FlexProjectAddJ2ee项目中的web.xml)
3.将该工程发布到Tomcat,并启动tomcat(注:一定要启动tomcat,因为在后面的设置中,要验证工程的路径)
4.然后在该工程上右键Flex Project Nature-->Add Flex Project Nature,默认设置Next
说明:
Root folder:D:\tomcat6.0.26\webapps\WebProjectAddFlex
Root URL:http://localhost:8700/WebProjectAddFlex
Context root:/WebProjectAddFlex
建议不要修改Output folder路径
点击Validate Configuration校验配置通过后点击Finish
5.设置完成后,Flex的mxml文件默认的放在src文件夹中,和java文件共用一个目录。并且没有像上一个工程那样自动的编译出可运行的文件
项目右键属性-->Flex Build Path,修改Main source folder为flex_src
6.配置Flex默认的SDK(程序可能还不能正常地运行,还需要配置他使用的sdk)
项目右键属性-->Flex Compiler,将默认的第三个选项改为第一个选项使用系统默认的SDK
7.编写测试代码
新建一个java类:Hello.java

package com;
public class Hello {
public String hello(String name){
System.out.println("flex调用我了,真好~~~~");
return "hello "+name;
}
}

为Flex配置这个要调用的对象,修改WEB-INF/flex下remoting-config.xml文件
加入:

<destination id="hello">
<properties>
<source>com.Hello</source>
</properties>
</destination>

编写一个Flex程序

<?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;
function gg(evnet:ResultEvent):void{
var ff:String = evnet.result as String;
ggg.text = ff;
}
function remotingSayHello():void{
var sname:String = nameInput.text;
h.hello(sname);
}
]]>
</mx:Script>
<mx:RemoteObject destination="hello" id="h" result="gg(event)" endpoint="http://localhost:8080/WebProjectAddFlex/messagebroker/amf" ></mx:RemoteObject>
<mx:TextArea id="ggg" x="109" y="103"/>
<mx:Button label="按钮" click="remotingSayHello();" x="221" y="155"/>
<mx:TextInput id="nameInput" x="109" y="73"/>
<mx:Label text="姓名" x="76" y="75"/>
</mx:Application>

8.这时项目会报错,说明没有html-template文件夹
拷贝FlexProjectAddJ2ee项目中的html-template文件夹到该项目中,删除文件夹中的所有文件
9.重启tomcat,运行WebProjectAddFlex.mxml
http://localhost:8080/WebProjectAddFlex/WebProjectAddFlex-debug/WebProjectAddFlex.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值