flex+blazeds+java(将java整合到flex中)
2010-09-25 19:28
716 查看
最近项目中需要Flex与Java进行通信,初步选定使用BlazeDS。看见网上很多HelloWorld的例子都没运行起来,所以决定把自己的经验总结一下分享给大家。
配置Flex和Java Web项目的开发的开发环境,这里就不再赘述了,我使用的是Eclipse JavaEE + Flex Builder。
下载BlazeDS压缩包,好像有三种版本(Turkey、bin、source), 我用的是bin,解压后里面有一个blazeds.war。
在Eclipse中新建一个Flex Project名为BlazeApp,服务器选J2EE。
J2EE Settings中的Flex war File选择BlazeDS解药后得到的blazeds.war。
建完工程后需要修改一下Context root,右键-> Properties -> Flex Server -> Context root 改成/BlazeApp.
在src目录下新建包demo,在包下新建类HelloWorld,代码如下
Java代码
package demo;
public class HelloWorld {
public String sayHello(String name){
System.out.println("Hello "+name);
return "Hello "+name;
}
}
package demo;
public class HelloWorld {
public String sayHello(String name){
System.out.println("Hello "+name);
return "Hello "+name;
}
}
修改WebContent/WEB-INF/flex/remoting-config.xml,在其中加入
Xml代码
<destination id="Hello">
<properties>
<source>demo.HelloWorld</source>
</properties>
</destination>
<destination id="Hello">
<properties>
<source>demo.HelloWorld</source>
</properties>
</destination>
修改BlazeApp.mxml,代码如下
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.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var helloResult:String;
private function sayHello():void {
ro.sayHello(inputText.text);
}
private function resultHandler(event:ResultEvent):void {
helloResult = event.result as String;
}
]]>
</mx:Script >
<mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)"/>
<mx:HBox x="0" y="10" width="100%">
<mx:Label text="Name:" id="nameLabel"/>
<mx:TextInput id="inputText"/>
<mx:Button label="say Hello" id="nameButton" click="sayHello()"/>
<mx:Label id="resultLabel" text="{helloResult}"/>
</mx:HBox>
</mx:Application>
<?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.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var helloResult:String;
private function sayHello():void {
ro.sayHello(inputText.text);
}
private function resultHandler(event:ResultEvent):void {
helloResult = event.result as String;
}
]]>
</mx:Script >
<mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)"/>
<mx:HBox x="0" y="10" width="100%">
<mx:Label text="Name:" id="nameLabel"/>
<mx:TextInput id="inputText"/>
<mx:Button label="say Hello" id="nameButton" click="sayHello()"/>
<mx:Label id="resultLabel" text="{helloResult}"/>
</mx:HBox>
</mx:Application>
运行项目,在浏览器中输入http://localhost:8080/BlazeApp/BlazeApp.html,试试看~
注:在Flex4中运行上面例子可能会报错,需要在定义RemoteObject的的时候加上如下参数
Xml代码
endpoint="messagebroker/amf"
配置Flex和Java Web项目的开发的开发环境,这里就不再赘述了,我使用的是Eclipse JavaEE + Flex Builder。
下载BlazeDS压缩包,好像有三种版本(Turkey、bin、source), 我用的是bin,解压后里面有一个blazeds.war。
在Eclipse中新建一个Flex Project名为BlazeApp,服务器选J2EE。
J2EE Settings中的Flex war File选择BlazeDS解药后得到的blazeds.war。
建完工程后需要修改一下Context root,右键-> Properties -> Flex Server -> Context root 改成/BlazeApp.
在src目录下新建包demo,在包下新建类HelloWorld,代码如下
Java代码
package demo;
public class HelloWorld {
public String sayHello(String name){
System.out.println("Hello "+name);
return "Hello "+name;
}
}
package demo;
public class HelloWorld {
public String sayHello(String name){
System.out.println("Hello "+name);
return "Hello "+name;
}
}
修改WebContent/WEB-INF/flex/remoting-config.xml,在其中加入
Xml代码
<destination id="Hello">
<properties>
<source>demo.HelloWorld</source>
</properties>
</destination>
<destination id="Hello">
<properties>
<source>demo.HelloWorld</source>
</properties>
</destination>
修改BlazeApp.mxml,代码如下
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.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var helloResult:String;
private function sayHello():void {
ro.sayHello(inputText.text);
}
private function resultHandler(event:ResultEvent):void {
helloResult = event.result as String;
}
]]>
</mx:Script >
<mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)"/>
<mx:HBox x="0" y="10" width="100%">
<mx:Label text="Name:" id="nameLabel"/>
<mx:TextInput id="inputText"/>
<mx:Button label="say Hello" id="nameButton" click="sayHello()"/>
<mx:Label id="resultLabel" text="{helloResult}"/>
</mx:HBox>
</mx:Application>
<?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.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var helloResult:String;
private function sayHello():void {
ro.sayHello(inputText.text);
}
private function resultHandler(event:ResultEvent):void {
helloResult = event.result as String;
}
]]>
</mx:Script >
<mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)"/>
<mx:HBox x="0" y="10" width="100%">
<mx:Label text="Name:" id="nameLabel"/>
<mx:TextInput id="inputText"/>
<mx:Button label="say Hello" id="nameButton" click="sayHello()"/>
<mx:Label id="resultLabel" text="{helloResult}"/>
</mx:HBox>
</mx:Application>
运行项目,在浏览器中输入http://localhost:8080/BlazeApp/BlazeApp.html,试试看~
注:在Flex4中运行上面例子可能会报错,需要在定义RemoteObject的的时候加上如下参数
Xml代码
endpoint="messagebroker/amf"
相关文章推荐
- Flex Spring JAVA BLAZEDS整合
- BlazeDS整合java和flex:创建网络应用程序教程
- Spring 整合 Flex (BlazeDS)无法从as对象 到 Java对象转换的异常:org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.util.Date' to required type 'java.sql.Timestamp' for property 'wfsj'; nested exception is java.lang.Ill
- Cairngorm+BlazeDS整合Flex+Java的Demo(实例)
- Spring 整合 Flex (BlazeDS)无法从as对象 到 Java对象转换的异常:org.springframework.beans.ConversionNotSupportedExcept
- Cairngorm + BlazeDS 整合 Flex + Java 的 Demo (实例)
- myeclipse8.5 + FB4_Plugin + blazeDS实现Flex和Java交互(一)
- 【转】Java+Eclipse+MyEclipse+Flex+BlazeDS+tomcat的安装和Hello, World项目
- 整合spring roo,maven,mybatis,spring-flex,blazeds,mysql
- arcgis api for flex之四、使用BlazeDS与Flash Builder4.5整合Java EE应用
- Flex同Java通信--BlazeDS入门图文详解(上)
- Java+blazeds+Flex的例子
- Flex+BlazeDS整合J2EE实例
- Flex与java通过BlazeDS实现通信(简单Demo)
- flex blazeds连接java
- Java+blazeds+Flex的例子
- Flex4 + Blazeds + Java 通信
- Flex 和 BlazeDS 完成对java的远程调用(详解)
- 图文并茂、手把手教你怎么将Java项目与Flex4整合
- Flex+BlazeDs+Java的教程及Demo