BlazeDS入门教程-很详细-赞原创作者一个

  什么是BlazeDS呢?BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,它能够使得后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。在各大搜索引擎里,关于BlazeDS的中文教程来来去去都是那几篇,而且都是使用Eclipse来开发Flex的(用Eclipse开发Flex跟Java很不错的)。这篇文章将会尝试着使用Flex Builder 3,用一个经典的“HelloWorld”例子来让你学会BlazeDS的使用方法。
        在开始之前,你需要安装JDK和Tomcat并实现成功配置,详细请看:Tomcat 6.0 配置

一、我电脑上的配置是如下四点,如果你电脑上的配置不同于以下四点,可能需要你对你的电脑进行修改一下:
        1、Window XP;
        2、Tomcat 6.0,安装在“C:\Program Files\Apache Software Foundation\Tomcat 6.0\”,下文会使用“[tomcat-home]”来代替这长长的目录路径;
        3、Tomcat服务器使用端口8080;
        4、使用Flex Builder 3而非Eclipse。

二、如果你对以下操作比较陌生,那你应该先熟悉一下以下操作:
        1、写一个Java文件并编译它;
        2、使用Flex Builder 3;
        3、停止和开户Tomcat服务器。

三、下载BlazeDS:
        1、网址:http://opensource.adobe.com/wiki/display/blazeds/Release+Builds
        2、下载那个“BlazeDS binary distribution”(http://download.macromedia.com/pub/opensource/blazeds/blazeds_bin_3-0-0-544.zip);
                i. 把那个 .zip 文件保存到你的电脑上
                ii. 里面有两个文件:blazeds.war 和 blazeds-bin-readme.html
                iii. 把里面的 blazeds.war 文件解压到这个目录下:[tomcat-home]\webapps
        3、如果Tomcat正在运行,请停止它然后再启动它(就是重启Tomcat);
        4、打开这个目录:[tomcat-home]\webapps
                i. 你应该会看到一个名为“blaseds”的文件夹
                ii. 在blaseds文件夹里,会有一个名为“WEB-INF”的文件夹
                iii. 在WEB-INF文件夹里会有很多文件夹,其中有一个名为“classes”的文件夹。Flex应用程序需要使用到的Java class就是放到这个文件夹里的
                iv. 还有一个名为“flex”的文件夹,它里面有一个remoting-config.xml,我们要在这个remoting-config.xml文件里添加destination结点来告诉Flex应用程序如何连接上Java class的

四、使用文本编辑器编写以下这个Java文件并命名为“HelloWorld.java”:

  1. package cn.riahome.java;
  2.  
  3. public class HelloWorld {
  4.  
  5.  public HelloWorld() {
  6.  }
  7.  
  8.  public String getHelloWorld() {
  9.   return "Hello World!";
  10.  }
  11. }

编译这个Java文件并得到HelloWorld.class文件。在 [tomcat-home]\webapps\blazeds\WEB-INF\classes 目录下新建一个名为“cn”的文件夹,然后在cn文件夹新建一个“riahome”文件夹,接着在riahome文件夹里新建一个“java”文件夹,最后把刚才编译得到的HelloWorld.class文件放到java文件里,HelloWorld.class的路径应该为:[tomcat-home]\webapps\blazeds\WEB-INF\classes\cn\riahome\java\HelloWorld.class

五、打开 [tomcat-home]\ webapps\blazeds\WEB-INF\flex\remoting-config.xml 这个文件,然后在</default-channels>标签之后和</service>标签之前添加以下结点(注意id属性和source结点的值,source结点描述了完整的包路径和类名):

  1. <destination id="helloWorld">
  2.     <properties>
  3.         <source>cn.riahome.java.HelloWorld</source>
  4.     </properties>
  5. </destination>

六、如果Tomcat正在运行,请停止它然后再启动它(就是重启Tomcat);

七、请按以下步骤新建一个名为“HelloWorld”的Flex Project:

八、在 HelloWorld.mxml 文件的<mx:Application></mx:Application>标签之间添加如下代码:

  1. <mx:Script>
  2.         <![CDATA[
  3.            
  4.             import mx.rpc.events.FaultEvent;
  5.             import mx.controls.Alert;
  6.             import mx.rpc.events.ResultEvent;
  7.            
  8.             private function resultHandler(event:ResultEvent):void
  9.             {
  10.                 // 显示收到的 "Hello World!" 数据
  11.                 Alert.show(event.result.toString(), "提示");
  12.             }
  13.            
  14.             private function faultHandler(event:FaultEvent):void
  15.             {
  16.                 Alert.show(event.fault.toString(), "提示");
  17.             }
  18.            
  19.         ]]>
  20.     </mx:Script>
  21.    
  22.     <mx:RemoteObject id="remoteObject" destination="helloWorld" source="cn.riahome.java.HelloWorld"
  23.         result="resultHandler(event)" fault="faultHandler(event)"/>
  24.    
  25.     <mx:Button label="发送" click="remoteObject.getHelloWorld()"/>

九、按F11测试,你看到一个叫“发送”的按钮,按一下它,会弹出“Hello World!”,这是后台发送过来的。至此,我得恭喜您!您成功了!

十、最后需要注意的是:<mx:RemoteObject>标签的destination属性值必须跟remoting-config.xml文件里destination标签的id值一致!

如果您还是测试不成功,请注意以下几点:
1、核实HelloWorld.class文件已经在[tomcat-home]\webapps\blazeds\WEB-INF\classes\cn\riahome\java目录下;
2、检查remote-config.xml文件里是否已经添加了上述的<destination>标签;
3、有没有重启Tomcat服务器;
4、检查<mx:RemoteObject>标签有没有这两个属性:destination=”helloWorld”、source=”cn.riahome.java.HelloWorld”
5、打开Flex Project的属性面板,查看 Flex Compiler 里的Additional compiler arguments选项,是否已经有“-services”指令,如下图(通常在新建Project的时候就自动添加的)

6、打开Flex Project的属性面板,再次检查 Flex Server 里的 Root folder、Root URL、Conntext root,按一下 Validate Location 按钮测试是否成功
7、检查所有代码有没有错误

 

 

 

来自:http://www.riahome.cn/?p=69

转载于:https://www.cnblogs.com/xxcainiao/archive/2008/12/19/1358657.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel概率密度函数公式_标准正态分布密度函数公式

展开全部标准正态分布密度函数公式&#xff1a;正态曲线呈钟型62616964757a686964616fe58685e5aeb931333366306532&#xff0c;两头低&#xff0c;中间高&#xff0c;左右对称因其曲线呈钟形&#xff0c;因此人们又经常称之为钟形曲线。若随机变量X服从一个数学期望为μ、方差为…

2017-2018中国物联网产业全景图谱报告——物联网对产业深度变革已开启

来源&#xff1a;物联网智库丨公众号如果说2016年里物联网的产业生态各种要素已具备&#xff0c;那么2017年就是物联网对于国民经济产业变革的规模效应初显的一年&#xff0c;可以说是物联网对产业变革的元年。在这一过程中&#xff0c;通过二维生态图谱去了解过去一年的进展不…

linux命令终极系列awk

AWK man 手册&#xff1a;http://man.linuxde.net/awk AWK编程的内容极多&#xff0c;这里只罗列简单常用的用法&#xff0c;更多请参考 http://www.gnu.org/software/gawk/manual/gawk.html 简介 什么是awk? awk是一个强大的文本分析工具&#xff0c;相对于grep的查找&a…

Java加密与解密的艺术~数字签名~RSA实现

RSA 实现 /*** 2008-6-11*/ package org.zlex.chapter09_1;import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import …

图灵2008年12月出版的计算机图书

《JavaScript设计模式》 《MySQL必知必会》 《实用Java教程&#xff1a;基于BlueJ的对象优先方法(第3版)》 《C#图解教程》 转载于:https://www.cnblogs.com/bookshop/archive/2008/12/21/1359397.html

mysql numeric float_sql 下,float和numeric

搜了下两者的区别&#xff0c;答案其实很明显:numeric支持最长38位长度的数字&#xff0c;只有在你要的数字的长度超过38位时才推荐使用float原因是&#xff0c;float在保存和提取&#xff0c;以及数学计算等方面&#xff0c;会产生于期待记过不一致的情况。为什么呢&#xff1…

科技部认定的独角兽名单来了!共164家

来源&#xff1a;中国证券报丨公众号 作者&#xff1a;杨洁今天上午&#xff0c; 科技部火炬中心、中关村管委会、长城战略咨询、中关村银行联合主办“2017中国独角兽企业发展报告”发布会。《2017中国独角兽企业发展报告》显示&#xff1a; 2017年中国独角兽企业共164家新晋62…

p0f - 被动探测操作系统工具

参考&#xff1a;http://lcamtuf.coredump.cx/p0f3/ p0f是一款被动探测工具&#xff0c;能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别&#xff0c;即使是在系统上装有性能良好的防火墙的情况下也没有问题。。目前最新版本为3.09b。同时p0f在网络分析方…

《Head First 设计模式》专题上线

立即访问《Head First 设计模式》专题 我们为这本经典图书制作了专题&#xff0c;也想在此了解一下园子里有哪些朋友看过这本书。 --- 博客园团队 2008年12月26日 转载于:https://www.cnblogs.com/bookshop/archive/2008/12/26/1363084.html

Java加密与解密的艺术~数字签名~DSA实现

DSA 实现 /*** 2008-6-13*/ package org.zlex.chapter09_2;import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import …

mysql临时表和永久表_SQL临时表和永久表

drop table #Tmp --删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp(ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1WokNo varchar(50),primary key (ID) --定义ID为临时表#Tmp的主键);Select * from #Tmp --查询…

tcpdump - 数据包进行截获的包分析工具

From&#xff1a;http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 30 分钟掌握 tcpdump&#xff1a;http://zhuanlan.51cto.com/art/201701/527498.htm Android tcpdump 下载&#xff1a;https://www.androidtcpdump.com/android-tcpdump/downloads tcpdum…

相持不下的争论:脑波,有用吗?

来源&#xff1a;原理、编译&#xff1a;糖兽在大脑中&#xff0c;存在着我们看不见的脑电活动。这些脑波是由在大脑周围大量存在神经细胞的协调发射而产生的&#xff0c;他们可以从大脑的前部传到后部&#xff0c;从大脑深处传到头皮。这种脑电活动被称为神经元振荡。有意思的…

CVS 客户端使用手册

IRLab 2003年2月10日 什么是CVS CVS&#xff08;Version Control System.&#xff09;即版本控制系统。用来记录源文件的历史信息。甚至二进制文件&#xff0c;媒体文件等。 例如&#xff0c;当软件修改时有时会产生Bugs&#xff0c;并且你可能在做这次修改后很长时间不会发现这…

redisserver是什么问题_面试官老是问:为什么采用单线程的Redis也会如此之快?...

Java面试笔试面经、Java技术每天学习一点公众号Java面试关注我不迷路作者&#xff1a;kaito来源&#xff1a;http://kaito-kidd.com/2020/06/28/why-redis-so-fast/众所周知&#xff0c;Redis在内存库数据库领域非常地火热&#xff0c;它极高的性能和丰富的数据结构为我们的开发…

Java加密与解密的艺术~数字签名~ECDSA实现

ECDSA 实现 /*** 2009-10-10*/ package org.zlex.chapter09_3;import java.math.BigInteger; import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import …

Science:语言可能并不是推理能力所必需的

来源&#xff1a;神经科技丨公众号在一项新的针对婴儿的研究中&#xff0c;来自西班牙、匈牙利和波兰的研究人员发现语言可能并不是推理能力&#xff08;reasoning ability&#xff09;所必需的。在发表在2018年3月16日的Science期刊上的一篇标题为“Precursors of logical rea…

嗅探工具 --- wireshark、tcpdump、dsniff、ettercap、bettercap、netsniff-ng、cain

最好的 MitM 中间人攻击开源框架清单&#xff1a;https://github.com/Chan9390/Awesome-MitM 哔哩哔哩&#xff1a;https://search.bilibili.com/all?keywordwireshark 1、WireShark WireShark 是一个开源免费的高性能网络协议分析软件&#xff0c;它的前身就是非常著名的网络…

AjaxPro.dll和AjaxPro.2.dll的web配置方法

在<system.web>节点下配置<httpHandlers><add verb"POST,GET" path"ajaxpro/*.ashx" type"AjaxPro.AjaxHandlerFactory, AjaxPro"/></httpHandlers>2.AjaxPro.2.dll在web.config中的配置如下&#xff1a;在<system.w…

JavaScript抽象类及Class.create备忘

我们知道抽象在面向对象中的重要地位。而JavaScript虽不是一门户严格意义上的面向对象语言&#xff0c;但&#xff0c;它也可以有自己的面向对象实现。当然包括抽象。在JavaScript中,虚方法可以看作该类中没有定义的方法,但已经通过this指针使用了.通过下面的示例可以看出&…