Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx

上传人:b****6 文档编号:6229604 上传时间:2023-01-04 格式:DOCX 页数:14 大小:872.94KB
下载 相关 举报
Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx_第1页
第1页 / 共14页
Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx_第2页
第2页 / 共14页
Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx_第3页
第3页 / 共14页
Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx_第4页
第4页 / 共14页
Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx

《Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx》由会员分享,可在线阅读,更多相关《Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx(14页珍藏版)》请在冰豆网上搜索。

Flex与服务器交互之四使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置.docx

Flex与服务器交互之四使用RemoteObject+BlazeDS+TomCat同Java交互及开发环境配置

   Flex与服务器交互之四(使用RemoteObject+BlazeDS+TomCat同Java交互及开发环境配置)

由于Flex只是一种客户端技术其本身并不能直接同数据库交互,在实际的应用开发过程中Flex提供了如URLRequest、HTTPService、RemoteObject、WebService等类以实现同服务器的通讯和数据交互,下面做一些介绍和实例解析:

  本示例用到的开发工具和组件:

jdk1.6、eclipse3.0、 FlexBuilder3.0、 blazeds-turnkey-3.3.0.9885(已包含Tomcat)

  1、安装JDK至指定目录下如:

C:

\ProgramFiles\Java\jdk1.6.0_16

  2、解压blazeds-turnkey-3.3.0.9885.zip将tomcat目录拷贝至:

D:

\ProgramFiles\tomcat

  3、配置或加入我的电脑环境变量:

1.JAVA_HOME       C:

\Program Files\Java\jdk1.6.0_16  

2.CATALINA_BASE   D:

\Program Files\tomcat  

3.CATALINE_HOME   D:

\Program Files\tomcat  

4.CLASSPATH       %JAVA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar  

5.Path            %JAVA_HOME%\bin;%JAVA_HOME%\lib;  

 

  4、查看Tomcat服务器配置信息:

     查看D:

\ProgramFiles\tomcat\conf\server.xml文件

     找到

              connectionTimeout="20000"

              redirectPort="9400"/>

     配置的端口信息为“8400”

  5、手动方式启动TomCat检查是否配置成功(当然你也可以在Eclipse中安装TomCat插件控制Tomcat):

     启动命令行“cdD:

\ProgramFiles\tomcat\bin”定位至TomcatBin目录

     运行“startup.bat”启动TomCat看到如下(启动成功):

     浏览器中输入:

“http:

//localhost:

8400/”如下(恭喜JAVA环境+BlazeDS+Tomcat配置成功):

  6、建立开发文件夹,拷贝BlazeDS配置文件和用到的配置文件及类库“WEB-INF”至站点目录:

     找到blazeds.war个改后缀为RAR解压找到“WEB-INF”文件夹拷贝至"WebSite"下目录结构如:

     这样做的目的是将JAVA项目同Flex项目Web站点目录分开互不干扰(使用eclipse的Flex开发插件有时会报莫名的错误,Flex开发还是建议用FlexBuilder)

  7、在Eclipse中新建java项目并将编译路径链接至“..\WebSite\WEB-INF\classes”目录下如图:

  8、发布WebSite至TomCat:

     在“D:

\ProgramFiles\tomcat\conf\server.xml”文件节点中新增如下节点重启TomCat(执行第5步骤运行“shutdown.bat”再运行“startup.bat”)

1.

2.           unpackWARs="true" autoDeploy="true"  

3.           xmlValidation="false" xmlNamespaceAware="false">  

4.   

5.  

  9、新建FLEX服务器为J2EE的“myBlazeDSFlex”项目至"E:

\学习\BlazeDs\Flex"目录

  10、配置服务器及Flex输出目录至“webSite\flex"下,并“ValidateConfiguration”通过(如图):

  11、你也可以手动设置Felx项目属性(如图)来配置J2EE服务器:

  12、在eclipse中编写完成Java类及方法并编译:

      UserBean类:

 

1.package myBlazeDS;  

2. public class UserBean {  

3.  private String _name;  

4.  private int _age;  

5.  private String _address;  

6.  public UserBean(String name,int age,String address)  

7.  {  

8.   this._name = name;  

9.   this._age = age;  

10.   this._address = address;  

11.  }  

12.    

13.  public void setName(String name)  

14.  {  

15.   this._name = name;  

16.  }  

17.  public String getName()  

18.  {  

19.   return this._name;  

20.  }  

21.    

22.  public void setAge(int age)  

23.  {  

24.   this._age = age;  

25.  }  

26.  public int getAge()  

27.  {  

28.   return this._age;  

29.  }  

30.    

31.  public void setAddress(String address)  

32.  {  

33.   this._address = address;  

34.  }  

35.  public String getAddress()  

36.  {  

37.   return this._address;  

38.  }  

39. }  

 

 外部接口类BlazeDSService:

 

1.package myBlazeDS;  

2.  

3. public class BlazeDSService {  

4.  public String GetBlazeService(String user)  

5.  {  

6.   return user +":

欢迎使用Java BlazeDS同Flex交互";  

7.  }  

8.  public UserBean GetUserInfo(String name,int age,String address)  

9.  {  

10.   return new UserBean("User:

" + name, age,address + " China");  

11.  }  

12. }  

  13、配置“E:

\学习\BlazeDs\WebSite\WEB-INF\flex\remoting-config.xml”增加(如图):

1.  

2.  

3.   

4.  myBlazeDS.BlazeDSService  

5.   

6. application  

7.  

8.  

 

   14、在Flex引入RemoteObject指定destination属性加入调用方法

method>节点如:

1.

RemoteObject id="myJavaService" destination="FirstBlazeService" showBusyCursor="true">  

2. 

method name="GetBlazeService" fault="onBlazeDSFalut(event)" />  

3. 

method name="GetUserInfo" result="getUserBean(event)" fault="onBlazeDSFalut(event)" />  

4.

RemoteObject>  

  15、完整体Flex页面代码:

   

1.

xml version="1.0" encoding="utf-8"?

>  

2. 

Application xmlns:

mx=" layout="absolute">  

3. 

RemoteObject id="myJavaService" destination="FirstBlazeService" showBusyCursor="true">  

4.  

method name="GetBlazeService" fault="onBlazeDSFalut(event)" />  

5.  

method name="GetUserInfo" result="getUserBean(event)" fault="onBlazeDSFalut(event)" />  

6. 

RemoteObject>  

7. 

Canvas width="653" height="190" x="10" backgroundColor="#297E8D" fontSize="15">  

8.  

Script>  

9.   

--[CDATA[  

10.    import mx.rpc.events.FaultEvent;  

11.    import mx.rpc.events.ResultEvent;  

12.    import mx.controls.Alert;  

13.    import mx.core.UIComponent;  

14.    import mx.core.BitmapAsset;  

15.    import mx.core.ByteArrayAsset;  

16.    private function onCallJava():

void  

17.    {  

18.     myJavaService.GetBlazeService(nameInput.text);  

19.    }  

20.    private function onCallBean():

void  

21.    {  

22.     myJavaService.GetUserInfo(txtName.text,int(txtAge.text),txtAddress.text);   

23.       

24.    }  

25.    private function getUserBean(e:

ResultEvent):

void  

26.    {  

27.     var o:

*=e.result as Object;  

28.     vtxtName.text = o.name;  

29.     vtxtAge.text = o.age;  

30.     vtxtAddress.text = o.address;  

31.    }   

32.    private function onBlazeDSFalut(e:

FaultEvent):

void  

33.    {  

34.     Alert.show(e.message.toString());  

35.    }   

36.   ]]-->  

37.  

Script>  

38.  

TextInput id="nameInput"  x="108" y="18" width="145"/>  

39.  

Button label="Call Java" click="onCallJava();" x="274" y="18" fillAlphas="[1.0, 1.0]"/>  

40.  

TextArea text="{myJavaService.GetBlazeService.lastResult}"  x="397" height="34" width="246" y="19"/>  

41.  

Label x="10" y="61" width="632" height="2"/>  

42.  

Label x="10" y="80" text="UserName:

"/>  

43.  

Label x="10" y="117" text="UserAge:

"/>  

44.  

Label x="10" y="150" text="Address:

"/>  

45.  

TextInput x="108" y="78" id="txtName" width="146"/>  

46.  

TextInput x="107" y="115" id="txtAge" width="147"/>  

47.  

TextInput x="107" y="148" id="txtAddress" width="147"/>  

48.  

Button x="272" y="112" label="Call Bean" id="btnCallBean" click="onCallBean();"/>  

49.  

Text x="397" y="80" width="246" id="vtxtName"/>  

50.  

Text x="397" y="117" width="246" id="vtxtAge"/>  

51.  

Text x="397" y="150" width="246" id="vtxtAddress"/>  

52.  

Canvas>  

53. 

Application>  

54.    

     16、DEMO完成后目录结构如图:

 

  17、DEMO功能完成最终效果如图:

源码下载:

  

  flex还可以通过如XMLSocket FMS 二进制套接字等同服务器交互,就不再赘述了本系列课程到此告一段落!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1