學習筆記 Flex和Java整合中如何進行配置
本文和大家重點學習一下Flex和Java的整合,帶著Java程序員的思維,一開始學習Flex并沒有按部就班的學習Flex的基礎知識,而是想搞清楚Flex到底怎樣和Java交互的。
整合Flex和Java—配置篇
切入正題,作為一個Java程序員學習Flex,關心的就是怎樣將Flex和Java進行結合交互。帶著Java程序員的思維,一開始學習Flex并沒有按部就班的學習Flex的基礎知識,而是想搞清楚Flex到底怎樣和Java交互的。經過了一個周末的研究,終于初見成果,下面就重要的講解三種配置的兩個。
在分享這幾種配置之前,先簡單的介紹一下需要用到的一些資源。
1、MyEclipse+Flex插件(官網下載)
2、Tomcat6.0作為服務器(官網下載)
3、用BlazeDS(免費)代替LCDS(收費):沒錢啊,只能先使用免費的了。從Adobe官方網站上下載下來,將blazeds.war、ds-console.war、samples.war三個文件放在tomcat的webapps目錄下。
Flex+Java配置:
第一種:Java工程和Flex工程獨立,這種方式也是很多人使用的方式,Flex程序員和Java程序員相互獨立的工作,這種方式網上有很多的資料,在這里就不再贅述了。
第二種:Flex工程加入Java元素
1、切換到Flex視圖,新建Flexproject
因為我們是要java和flex結合,所以在服務器選擇上我們選擇J2EE
存放java類的源文件,我們的目的就是Flex和java在一個工程里,所以我們這里選擇上
說明:Javasourcefolder就是你自己java業務源碼存放的根目錄,在FB3里,LCDS項目旨在將JavaJ2ee項目和FlexLcds項目混合。
當然如果你不選擇combined兩個在一起,那么就麻煩些:要么你再單獨新建一個Flex項目,而這個項目只寫java代碼。要么再建一個J2ee工程寫java代碼,而這個項目只寫Flex代碼,但最后要把Java編譯后的class文件放到這個項目下的webroot\web-inf\classes目錄中。即不管怎樣,最后發布時,java編譯后的class文件必須和lcds部署的項目在一起。
2、點擊Next,配置J2EE服務器
這里我們可以自定義輸出路徑,一般情況下設置成根目錄WebRoot就可以了。
因為我們采用的BlazeDS,所以這里要設置BlazeDS的路徑
說明:Targetruntime實際上沒什么用(后來我刪除了配置文件里的對應信息,也沒問題),但是不指定就不能繼續,如果這里顯示的是<none>那么就新建一個Tomcat的runtime,簡單的只需要指定tomcat的安裝目錄即可。
Contentfolder實際上就是最終編譯后的容器目錄,因此,BlazeDS的blazeds.war文件將會發布到該目錄下的web-inf下的flex目錄中。同時因為教程采用的是MyEclipse,他默認的就是發布WebRoot里的內容,為了自動化,因此這里改為了WebRoot(這也是java開發的習慣)
FlexWARfile指的是安裝了lcds后的flex.war文件的路徑,但是在這里我們采用的是BlazeDS來取代lcds,所以這里設置的是blazeds.war的路徑。
Compilationoptions指定了flex文件的編譯方式,選擇推薦的在FlexBuilder里編譯吧,雖然開發時多耗點時間,但是在發布后不會占用服務器的編譯處理時間,對用戶來說是有好處的。
Outputfolder指的是Flex編譯后的swf和html等文件存放的路徑,這里改為了WebRoot,意思是發布到根目錄就可以了。當然你可以根據你的需要和習慣自行設置其他的路徑
3、點擊下一步,采用默認的配置就可以,點擊完成,該工程就建立完成。
Flex編譯后發布的文件。我們發布在根目錄下
自動生成的flex的配置文件
Java源文件夾
Flex文件的源文件夾
4、讓它變成web工程由MyEclipse發布吧
注意,不要點的太快了,要把這里的對號勾掉,這樣就不會覆蓋BlazeDS創建的web.xml
點擊Finish,現在我們的工程的圖標變成了J2EEWeb工程了,這意味著,你可以用MyEclipse來發布它或者添加更多容器,比如hibernate、spring等
5、工程建好以后,你可以通過右鍵—>屬性來進行更多的設置。
6、這樣一個Flex+Java的工程就建立完成。
7、編寫例子,測試在介紹完第三種方式以后統一介紹。
第三種:由Webproject反向加入Flex,也就是Java+Flex
1、先建立一個web工程:flexweb。(略)
2、向flexweb工程手工添加Flex需要的元素。
1)首先將BlazeDS需要的jar文件拷到工程的lib目錄下。可以將上面建的那個flex工程的lib下的jar文件拷到該工程下的lib目錄下。
2)然后要加入FlexBlazeDS需要的配置文件。在WEB-INF下新建一個名為flex的文件夾,然后將我們上面建立的那個firstFlex該文件夾下的四個xml文件拷到該文件夾下。
3)最后,修改web.xml文件,加入Flex的配置。做法一個簡單的把上面我們新建的那個flex工程的web.xml的部分代碼拷過來。
- <context-param>
- <param-name>flex.class.path</param-name>
- <param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>
- </context-param>
- <!--HttpFlexSessionattributeandbindinglistenersupport-->
- <listener>
- <listener-class>flex.messaging.HttpFlexSession</listener-class>
- </listener>
- <!--MessageBrokerServlet-->
- <servlet>
- <servlet-name>MessageBrokerServlet</servlet-name>
- <display-name>MessageBrokerServlet</display-name>
- <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
【編輯推薦】
- 解析Flex4的十大變化
- Flex3到Flex4的轉變新特性值得關注
- Flex4Beta引入新元素功能更強大
- FlexBuilder3.0與Eclipse3.4的完美結合
- 技術分享 Flex4兼容模式如何移植到發布版本