`
bluky999
  • 浏览: 715624 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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 id="helloworld
"
>
           <properties>  
               <source>org.demo.HelloWolrd
</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" destination="helloworld

"

 result="resultHandler(event)" 
                       endpoint="/flexapp

/messagebroker/amf"

/>  
 <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 ,首次打开会有加载提示,稍慢,以后则很快! 输入字符,点击按钮,顺利地话你就可以看到返回的字符串了!!!

 

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

 

 

 

分享到:
评论
9 楼 bluky999 2011-09-21  
Jeese 写道
项目 我已经运行起来了,没有报错。
但是在界面上按下 ”button“的时候没有任何反应

正常的情况应该是在控制台有字符串之类的。

可是服务器端没有返回数据,这到底是怎么回事,控制台也没有反应



加个输出调试,逐步检查下哪里出错了。
8 楼 Jeese 2011-09-20  
这是我的QQ:347328624  博主帮个忙,告诉是哪里出了问题
7 楼 Jeese 2011-09-20  
项目 我已经运行起来了,没有报错。
但是在界面上按下 ”button“的时候没有任何反应

正常的情况应该是在控制台有字符串之类的。

可是服务器端没有返回数据,这到底是怎么回事,控制台也没有反应
6 楼 bluky999 2011-03-15  
a萝卜 写道
请问endpoint="/javaweb/messagebroker/amf"红色的代表什么?


这个是javaeye的代码高亮插件出问题了,红色的只是xml标签属性名高亮色而已 没什么特别含义
5 楼 a萝卜 2011-03-04  
请问endpoint="/javaweb/messagebroker/amf"红色的代表什么?
4 楼 javaguy.cn 2011-02-28  
了,,,,
3 楼 bluky999 2009-08-08  
朱元宇 写道
你的页面代码中<strong></strong>和一些CSS属性是咋回事?

那个是 javaeye本身的代码高亮插件出了问题! 
2 楼 朱元宇 2009-08-07  
你的页面代码中<strong></strong>和一些CSS属性是咋回事?
1 楼 bluky999 2009-04-16  
如果您还有问题,可以像我一样发表评论来和我交流    

相关推荐

Global site tag (gtag.js) - Google Analytics