<!-- Feedsky FEED发布代码开始 -->
欢迎点击此处订阅本Blog <!-- FEED自动发现标记开始 --> <link title="RSS 2.0" type="application/rss+xml" href="http://feed.feedsky.com/softwave" rel="alternate"> <!-- FEED自动发现标记结束 -->
<!--Google 468*60横幅广告开始--><script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "image"; //2007-07-26: CSDN google_ad_channel = "6063905817"; google_color_border = "6699CC"; google_color_bg = "E6E6E6"; google_color_link = "FFFFFF"; google_color_text = "333333"; google_color_url = "AECCEB"; google_ui_features = "rc:6"; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><!--Google 468*60横幅广告结束-->
在网上搜了好久都没有找到现成的,只好自己把一些BBS里面的东西整理整理了。
现在网上的资料大部分都是讲如何将flex和java整合到一个工程里以实现交互的方法(谢谢cimmicola的flex+lcds+java入门教 程),但是我的问题是要把flex和java写在不同的工程里并实现交互,flex端用FB3实现(大量的界面),java端用Myeclips实现(数据库访问等)。哪位大师有好办法?
其实很简单
首先搭建lcds服务,lcds服务可以整合到你自己的java web工程中作为一个服务来使用,也可以单独跑起来,因为它本来就是一个独立的web工程。
我介绍前者:将lcds服务整合到自己的java应用中。后面方法一个发布时麻烦点,还要把编译好的class放到lcds环境下,不推荐这么做。
lcds端
1.使用myeclipse建立一个java web工程
2. 解压lcds的flex.war,因为没有开发工具了,就得手动提取flex.war文件,其实用winrar就可以解压了,解压后的WEB-INF目录 复制到自己的java web工程的WebRoot下,覆盖WEB-INF。这样就将lcds服务和自己的java web工程整合了。
可以启动自己的java web应用,看看能不能正常启动。需要注意的是,lcds里提供了rtmp支持,这是开通了一个socket端口,因此,如果一个web容器中存在相同的端口就会报冲突,无法启动。
这个javaweb工程访问路径是http://localhost:8080/JavaRemoteService/
工程(发布后)物理路径是E:/WebServers/tomcat6/webapps/JavaRemoteService
2.编写java方法
- packagetest;
- publicclassRemoteObject{
- publicStringsayHello(Stringword){
- System.out.println(word);
- returnword;
- }
- }
3.配置remoting-config.xml
增加
- <destinationid="ro">
- <properties>
- <source>test.RemoteObject</source>
- <scope>application</scope>
- </properties>
- </destination>
flex端
1.建立一个基于lcds的flex工程。注意参数和之前java 工程的关系。不多说,上图
向导配置1
向导配置2
2.编写代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
- <mx:Script>
- <![CDATA[
- importmx.controls.Alert;
- privatefunctiondoRemoteCall(){
- ro.sayHello("hi");
- }
- ]]>
- </mx:Script>
- <mx:Buttonclick="doRemoteCall()"/>
- <mx:RemoteObjectresult="Alert.show(event.result.toString());"
- destination="ro"
- source="test.RemoteObject"
- id="ro"/>
- </mx:Application>
3.运行flex工程
如果运行正常,应该会出现FLEX的“hi”对话框
参考文献:
http://www.riachina.com/showtopic-11479.html
<!--新Google 468*60横幅广告开始--><script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x60, 创建于 08-8-6 */ google_ad_slot = "7368701459"; google_ad_width = 468; google_ad_height = 60; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><!--新Google 468*60横幅广告结束-->
<!--新Google 468x15 横链接单元开始--><script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x15 横链接单元 */ google_ad_slot = "5785741422"; google_ad_width = 468; google_ad_height = 15; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><!--新Google 468x15 横链接单元结束-->
<!-- Google Reader shared发布代码开始 --><script type="text/javascript" src="http://www.google.com/reader/ui/publisher.js"></script><script type="text/javascript" src="http://www.google.com/reader/public/javascript/user/00697638153916680411/state/com.google/broadcast?n=5&callback=GRC_p(%7Bc%3A%22green%22%2Ct%3A%22%5Cu8FD9%5Cu4E9B%5Cu6587%5Cu7AE0%5Cu4E5F%5Cu503C%5Cu5F97%5Cu4E00%5Cu770B%22%2Cs%3A%22false%22%7D)%3Bnew%20GRC"></script><!-- Google Reader shared发布代码结束 -->