当前位置: 代码迷 >> Eclipse >> BlazeDS配备过程和注意事项(tomcat,eclipse,FB plugin)
  详细解决方案

BlazeDS配备过程和注意事项(tomcat,eclipse,FB plugin)

热度:92   发布时间:2016-04-23 02:07:13.0
BlazeDS配置过程和注意事项(tomcat,eclipse,FB plugin)
首先,网上已经有N多的BlazeDS配置的文章了,各种实例、图解也很多,在此笔者在重复简

述基本过程的同时,会根据自己的实践过程给出几点很需要注意的事项,希望对新手入门很有

帮助!


1 准备: java5(or java 6) eclipse3.3(or 3.4), tomcat5.5(or 6.0) , FlexBuilder plugin (from adobe,FB3_WWEJ_Plugin.exe), BlazeDS (blazeds.war)

2 先交待一下概况: 我们在使用这样的配置开发第一个FLEX应用时,需要在eclipse里建

两个project,一个是java web,用于写java类提供数据服务;另一个是flex project,

用于生成 swf ; 但是最后运行时我们只需要java web,只要你在新建flex project时把

输出目录指向到java web的WebContent就好,免去手工同步的麻烦!

3 安装: 按照1中的顺序,从Java开始安装,一直到FB plugin安装完成停止; BlazeDS

其实不需要安装,只需要将相关的jar文件和配置文件拷贝至我们的java web项目的对应目

录下即可。

4 分别新建java web项目和flex project项目 ,名称随便,比如我们假设java web叫

flexapp,flex project 就叫flex1 !

(1 先建java web项目flexapp;建好java web以后,把blazeds.war (or

blazeds.rar) 解压,然后将其中的WEB-INF覆盖我们的javaweb项目flexapp的WEB-

INF; 然后在src目录新建包和类,写一个HelloWorld :
package org.demo;public class HelloWorld{	public String sayHello(String name) {		System.out.println("Name: " + name);		return "Hello , " + name;	}}

需要注意的是: java web的classes输出目录也按照习惯指向WEB-INF下的classes目

录!!!

然后在WEB-INF/flex/目录下找到 remoting-config.xml,打开后在</service>一行的

上面加入:
<destination <strong>id="<span style="color: #ff0000;">helloworld</span>"</strong>>           <properties>                 <source><strong>org.demo.HelloWolrd</strong></source>             </properties>  </destination>  


主要要将这里的source包路径和最后的类名写对,destination 的id就是下文要用到

的!!!



(2 再建flex project flex1,一定记得将输出目录指向上述java web项目flexapp的

WebContent,这样swf等会自动同步过来,无需手动拷贝! 在此项目中默认新建的

main.mxml中输入以下内容:

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"><mx:Script >         <![CDATA[ 	import mx.rpc.events.FaultEvent;         import mx.rpc.events.ResultEvent;            [Bindable]            private var helloResult:String;                   private function sayHello():void {              ro.sayHello(inputText.text);            }                       private function resultHandler(event:ResultEvent):void {                helloResult = event.result as String;             }               ]]>      </mx:Script >   <mx:RemoteObject id="ro" <strong>destination="<span style="color: #ff0000;">helloworld</span>"</strong> result="resultHandler(event)" <strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;endpoint="/<span style="color: #ff0000;">flexapp</span>/messagebroker/amf"</strong>/>   <mx:HBox x="0" y="10" width="100%">      <mx:Label text="Name:" id="nameLabel" height="20" textAlign="center"/>      <mx:TextInput id="inputText" textAlign="center"/>      <mx:Button label="say Hello" id="nameButton" click="sayHello()" textAlign="center"/>      <mx:Label id="resultLabel" text="{helloResult}" height="22"/>   </mx:HBox>  </mx:Application>

解释: 此处的destination 就是remoting-config.xml中配置的destination标签的Id,一定要一致!!!
此处的endpoint一定要从/flexapp开始写, flexapp就是我们的Java web项目的名称!!!

(3 在此之前都不需要启动tomcat;完成以上步骤后,即可启动tomcat !

然后访问 http://localhost:18080/flexapp/main.html ,首次打开会有加载提示,稍慢,以后则很快! 输入字符,点击按钮,顺利地话你就可以看到返回的字符串了!!!

最关键的注意事项已经表述如上,祝你好运!!!



转自:http://nodex.iteye.com/blog/368921


  相关解决方案