需要軟件:
apachetomcat.exe、
myeclipse-8.0.0-win32.exe、
jdk-6u12-windows-i586-p.exe、
blazeds-turnkey-4.0.0.14931.zip、
FlashBuilder_4_Plugin_LS10.exe http://www.adobe.com/cfusion/tdrc/index.cfm?product=flash%5Fbuilder&loc=zh%5Fcn
下載ADOBE的這兩個免費軟件需要註冊用戶
一、安裝jdk
按照步驟,選擇路徑安裝,安裝成功後,在安裝路徑下有java文件,包含jdk和jre兩個子文件。
二、JDK環境變量配置的步驟如下:
1.我的電腦-->屬性-->高級-->環境變量.
2.配置用戶變量:
a.新建 JAVA_HOME
C:/Program Files/Java/jdk1.5.0(JDK的安裝路徑)
b.新建 PATH
%JAVA_HOME%/bin;
c.新建 CLASSPATH
.;%JAVA_HOME%/lib;
3.測試環境變量配置是否成功:
開始-->運行--〉CMD
鍵盤敲入: JAVAC -version
出現jdk版本信息,而不是出錯信息,即表示配置成功!
環境變量配置的理解:
1. PATH環境變量。作用是指定命令搜索路徑,在i命令行下面執行命令如javac編譯java程序時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。我們需要把jdk安裝目錄下的bin目錄增加到現有的PATH變量中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好PATH變量後,就可以在任何目錄下執行javac/java等工具了。
2. CLASSPATH環境變量。作用是指定類搜索路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPTH來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄“.”也必須加入到該變量中。
3. JAVA_HOME環境變量。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟件就是通過搜索JAVA_HOME變量來找到並使用安裝好的jdk。
三、安裝Apache Tomcat web服務器
最好與jdk安裝在同一目錄下,自動搜索jre所在位置。
不在同一目錄時,需要手工瀏覽到jdk的安裝路徑,端口默認爲8080,也可自定義。
四、安裝Myelipase 8.0 按照步驟安裝,安裝完成後,重啓計算機,最後配置環境:
1)打開myeclipse
, -> ->Servers->Tomcat,選擇tomcat的版本,進行配置tomcat。
2)
四、安裝Adobe Flash Builder 4 Plugin
安裝時,它會讓你選擇一個解壓的文件路徑,這個路徑中不可以含有中文,否則會出錯,你就解壓在C盤中。然後安裝。
這裏是安裝路徑,這個路徑不是整合Myeclipse路徑所以不要選擇Myeclipse運行路徑。我這裏安裝到adobe文件夾下面,好點下一步。
這裏所選擇的路徑是myeclise的運行目錄(也就是有myeclipase.exe文件的目錄),記得關鍵之處,如果這個不是選擇運行文件夾那你的整合將失敗。好了到此整合成功了。
Flex4安裝完成之後要將flex的安裝目錄中的eclipase目錄下面的和eclipse-host-distro目錄下面的features和plugins文件夾中的內容拷貝到安裝Myeclipase文件夾下的common文件夾中的features和plugins文件夾內,到此配置成功
Blazds的配置:下載個Blazds的包,解壓,將其中的blazeds.war、ds-console.war、samples.war拷貝到Tomcat下的webapps文件夾中就好,
搭建一個web工程沒有那麼簡單,因爲flex只是做爲表示層展示,flex只接收java返回數據,那怎麼和java服務端通信呢?這時我們需要用到adobe公司開發的一個開源項目Blazeds。
Blazeds是一個基於服務器的 Java 遠程控制 (remoting) 和 Web 消息傳遞 (messaging) 技術,以LGPL(Lesser GNU Public License)公共許可證書發佈。它能夠使得後端的 Java 應用程序和運行在瀏覽器上的 Adobe Flex 應用程序相互通信。在Java應用服務器上,它以servlet的形式存在, 因此可以在任何標準Java網絡應用中運用它。下載地址是:Blazeds
二、打開Myeclise8.0新建一個javaweb工程,選擇javaEE 5.0如圖2
三、右擊WebRoot選擇import—>GeneralàFile system,展開發現在WEB-INF目錄下面多了flex文件夾,這個很重要主要是通信的4個配置文件。如圖3
圖3
右擊WebRoot選擇import—>GeneralàFile system
單擊Browse 選擇tomoat服務器安裝地址,然後選擇webapps中的blazeds文件夾(就是你配置Blazeds的地址)
單擊確定,然後勾選它
單擊Finish 然後選擇Yse to all
導入成功
四,部署flexweb項目到tomcat裏面。這部重要因爲下面要整合flex必須得啓動服務。我部署的服務器物理路徑爲:D:/soft/apache/tomcat/webapps/flexweb
單擊圖中紅色圓圈的按鈕
單擊 Add
選擇 Tomcat 6.x,然後Finish部署成功,在Tomcat 服務器下面的webapps文件夾下就有first這個文件夾了
六、轉換爲flex項目,首先選中你的jspweb項目右鍵選擇添加/更改項目類型,在選擇添加flex項目類型
圖4
七、選服務器爲j2ee,然後選擇Blazeds如圖5
圖5
八、 下一步配置你的服務器路徑,上面說了我的物理路徑是D:/soft/apache/tomcat/webapps/flexweb所以我下面就填如下信息如圖6
圖6
根文件夾就是服務物理路徑,根URL就是你的訪問路徑我這裏tomcat的端口是8080所以就這樣填,看你的端口而定然後在加上你的項目名稱,上下文根目錄就填項目名稱就行了。最後輸出路徑我把後面的目錄改爲flex。記得點一下驗證配置只有通過纔有效哦,如圖6
九、解決創建的錯誤如圖7
找到Problems看到有一個錯誤然後我們右鍵選重新創建HTML模板。這裏錯誤已經解決,但是新的問題又來了,src是java的源文件夾存java源代碼地方,但是現在被flex給佔用了
圖8
十、更改flex的項目源文件爲flex_src,右鍵項目屬性找到flex構鍵路徑的主源文件夾把src改爲flex_src如圖9
十一、然後把src文件夾裏面的flexweb.xml移動到flex_src文件夾裏面,最終目錄路徑如圖10
下面實現flex與java通信
現在基本的弄好了,現在就是要配置相關文件了,首先我們打開之前做好flexweb項目,然後切換到Myeclipse視圖。如果項目出錯紅色的XX,不要緊那是因爲我們沒有啓動Tomcat,如果啓動了服務器還有重新編譯flex項目才能正常。但是這裏先不弄等我們弄完在搞它。
一、在src目錄創建java文件
二、配置Webroot/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>test.A**tech</source>
</properties>
</destination>
</service>
這裏的配置文件是加上去的
<destination id="mytest">
<properties>
<source>test.A**tech</source>
</properties>
</destination>
這個是配置flex訪問java方法的一個遠程對象方法,配置後就可以與java通信了。我們試試吧
三、flex配置遠程對象
我的配置如下
<?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="1024" minHeight="768">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
protected function myFlex_resultHandler(event:ResultEvent):void
{
var name:String=event.result as String;
Alert.show(name);
}
protected function btnSend_clickHandler(event:MouseEvent):void
{
myFlex.helloWorld(txtName.text);
}
下面的這個配置就是調用java端的一個遠程對象, destination="mytest"就是我們剛纔配置的remoting-config.xml文件中的ID名稱,result="myFlex_resultHandler(event)" 就是如果服務器成功就執行result裏面的方法。
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)" />
</fx:Declarations>
然後點發送按鈕時發送遠程對象的helloWorld方法,執行click="btnSend_clickHandler(event)"
四、重新驗證flex服務器
好了現在可以訪問了。展示一下小作品吧