以前做項目時因為時間關系,囫囵吞棗狀态下完成了,現在回頭仔細研究了下究竟各種配置到底是什麼意思,起什麼作用,以一個什麼的流程來建立通過BlazeDS通信的Flex+Java程式比較合理,在程式運作時遇到那些問題時是配置的原因,又怎樣去修改配置,讓一個代碼邏輯沒有問題的程式可以正常運作,現将研究的成果記錄下來,分享+備忘。
本篇文裡主要介紹如何建立一個工程,并設定好相應的配置。
後續将介紹項目如何正确同步到Tomcat伺服器,請期待Flex同Java通信--Blazed入門圖文詳解(下)。
前期準備
本文所用軟體: Flash Builder 4.5 Plugin-in
Tomcat 7
BlazeDS 4
以上軟體官網均可下載下傳,或試用,或免費 ,或者最一了百了的方法——購買
環境搭建:
1.将Eclipse和FlashBuilder正确安裝,配置好JDK;
2.Tomcat和BlazeDS解壓,将blazeds.war檔案解壓,放到此目錄中——\Tomcat7.0.12\webapps 。
建立Flex Project工程
本文采用Flex和Java 放置在同一工程中的方式,根據向導提示建立工程,沒有什麼複雜的,稍微留心就可以,尤其是Flash Builder4.5,已經消除了之前設定某些參數無效的bug。
1. 工程基本資訊,其中FlexSDK可以根據自己的開發需要選擇;

2. Java部分的設定
Tips:Java source folder用于放置Java代碼的檔案夾,名稱可以根據自身習慣設定;
Target runtime 配置好的Tomcat,此處必須選一個,否則無法進行建立;
Context root用于設定将哪些URL請求通過Tomcat轉發到Web應用,此處必須與工程名相同;
Content folder 這是最終編譯後的容器目錄,blazeds.war檔案将會釋出到該目錄下的WEB-INF下的flex目錄中,此處需跟Context root 的設定一樣,
否則在使用RemoteObject與Java進行通信時會報錯,目前還沒找到原因,若有明白人,望指點一下;若開發環境使用MyEclipse,将檔案名設定為
WebContent,可以自動部署;
Output folder 用于存放Flex編譯後的swf和html等檔案存放的路徑,若為了編譯檔案的整齊,可以選擇放在Content folder\bin等一個單獨檔案夾中,
因為習慣問題我設定為一樣的;
3. Flex部分的設定
Tips:Main source folder用于放置Java代碼的檔案夾,名稱可以根據自身習慣設定;
Main application file預設運作的swf對應的代碼檔案;
Output folder url程式運作的主連結;
生成的工程結構如圖所示:
Flex與Java通信的配置
1.示例背景Java類
在"Demos/java_src”檔案夾下添加com.Demos.DemoServices類,其完整代碼如下: 1:package com.Demos;2:3:public class DemoServices {4: public String testRemoteServices(String var1) {5: return "Test is ok" + var1;6: }7:}
2.示例前端Flex應用
修改"Demos/flex_src”檔案夾下添加Demo.mxml檔案,其完整代碼如下:
1:<?xml version="1.0" encoding="utf-8"?>2:7: 32:33: 34: 35: 36: 37: 38:39: 40: 41: 42: 43:
3.通信配置
代碼編寫完成後,首先将"Tomcat7.0.12\webapps\blazeds\WEB-INF”檔案夾拷貝替換"Demos\Demos\WEB-INF;然後需要修改位于
"Demos\Demos\WEB-INF\flex”檔案夾中remoting-config.xml檔案,為其添加以下代碼:
1:2: 3: com.Demos.DemoServices4: 5:
Tips:id 也可以用代碼中的demoServices;
Source一定要跟Java類的名稱完全一樣,否則會報找不到類或者沒有Channel的錯誤。
擴充閱讀: