Flex與java通信(java查詢數據庫返回List,Flex調用java展示數據):http://blog.csdn.net/u010011052/article/details/9116871
Flex與java通信(java解析xml返回List,Flex調用java展示數據):http://blog.csdn.net/u010011052/article/details/9127643
這個例子較簡單,但是包涵了很詳細的配置和特別需要注意的一些地方:要稍複雜的看上面的兩個例子
準備Blazed.war包,解壓後會有兩個文件夾:META-INF 和WEB-INF
這裏主要用的是 WEB-INF 下flex文件夾裏邊的一些配置文件,如 remoting-config.xml 。
將 WEB-INF文件夾拷貝到你java項目下的WebRoot中替換原有的WEB-INF
1、新建 java 項目:
將Blazed.war包中解壓出來的 WEB-INF 拷貝到你項目路徑下的WebRoot 下 替換原有的 WEB-INF
2、創建 java 類:
package com.test;
public class remotingtest {
//創建一個java類 準備讓Flex調用
public String showVal() {
return "1234567890";
}
}
3、打開 remoting-config.xml 文件配置 java 類:
<?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>
<!-- 這裏就是你要配置的java類 id是你自己取的名字 -->
<destination id="REMOTINGTEST">
<properties>
<!-- 這裏的 source 要配置的java類的路徑(包名.類名)-->
<source>com.test.remotingtest</source>
</properties>
</destination>
</service>
4、配置 web.xml ,很多例子都沒說配置這個,小心,有的時候自動生成的會出問題:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- BlazeDs -->
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>
<!--BlazeDS MessageBroker Servlet -->
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<!-- 這裏的配置注意下 value是你剛纔拷貝過去的那個services-config.xml -->
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
其他的配置文件不用改,這時候用Tomcat部署java項目 並啓動Tomcat
5、這時候去寫創建個Flex項目測試一下:(下面比較重要)
進行這一步的前提:Tomcat部署項目成功
6、在Flex中創建並編寫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"
initialize="init()"
minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private function init():void {
// TODO Auto-generated method stub
remotingtest.showVal();
}
[Bindable]
public var result:String="";
protected function remotingtest_resultHandler(event:ResultEvent):void {
// TODO Auto-generated method stub
result = event.result as String;
}
[Bindable]
protected function remotingtest_faultHandler(event:FaultEvent):void {
// TODO Auto-generated method stub
result = "這是 remotingtest_faultHandler 執行的";
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 將非可視元素(例如服務、值對象)放在此處 -->
<s:RemoteObject id="remotingtest" destination="REMOTINGTEST" result="remotingtest_resultHandler(event)" fault="remotingtest_faultHandler(event)" />
</fx:Declarations>
<!-- 用 Label 展示測試數據 -->
<s:Label text="{result}" /></s:Application>
7、好了,運行你的 mxml 文件,看看效果吧!祝你測試成功
以上文件打包了:下載地址:http://pan.baidu.com/disk/home?#dir/path=%2F%E5%88%86%E4%BA%AB%E6%96%87%E4%BB%B6
有什麼問題可以留下你的QQ交流