Blazdes 和flash builder 配置实例

纠结了一天的事件 查找了好多的资料。终于把这个任务完成了。

jdk 和tomcat 都需要配置。

.;%Java_Home%\lib;%CATALINA_HOME%/common/lib; --Classpath

D:\tomcat6                                                               --CATALINA_HOME

D:\Program Files\Java\jdk1.6.0_01                              --Java_Home

%Java_Home%\bin;%CATALINA_HOME%/bin;             --Path

配置基本就这些。

cmd_javac 检测jdk是否配置成功。

http://localhost:8080 检测tomcat是否配置成功。

MyEclipse 8.5  新建一web工程。不要把web工程建立在tomcat下面的webapps下面否则会报错。把下载的blazdes加压后的

三个文件拷到WebRoot下面覆盖即可。

新建一个class 包随便:

package pac;

public class HelloWorld {
	public String getHello()
	{
		return "Hello";
	}
	 public String helloJavaFlex(String name) {    
          return "hello," + name + "您可以使用java和flex通信了";    
   }  
}
 
修改remoting-config.xml  添加
 <destination id="IDhello">
<properties>
<source>pac.HelloWorld</source>
</properties>
</destination>
另外web.xml下面的
 <servlet>
        <servlet-name>RDSDispatchServlet</servlet-name>
  <display-name>RDSDispatchServlet</display-name>
        <servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class>
  <init-param>
   <param-name>useAppserverSecurity</param-name>
   <param-value>false</param-value>
  </init-param>       
        <load-on-startup>10</load-on-startup>
    </servlet>    取消禁用并设置value为false.
新建flash builder工程。设置j2se服务端
进行配置:

然后一路走下去。选择完成。最后点击数据-服务位置 点击选择即可。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:services="services.*">

	<fx:Script>
		<![CDATA[
			import mx.rpc.events.ResultEvent;
			protected function button1_clickHandler(event:MouseEvent):void
			{
				ro.helloJavaFlex("--");
				ro.getHello();
				ro.addEventListener(ResultEvent.RESULT,ResaultH);
				
			}
			private function  ResaultH(event:ResultEvent):void
			{
				trace(event.result.toString()+"---");
			}
		]]>
	</fx:Script>

	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
		<s:RemoteObject id="ro" destination="IDhello" endpoint="http://localhost:8080/Blazdes_Demo/messagebroker/amf"/>
	</fx:Declarations>
	<s:Button x="286" y="169" label="按钮" click="button1_clickHandler(event)"/>
</s:Application>
 
 
 
endpoint是该值为[http://+主机地址:端口/blazedswebapps中的那个文件夹的名字/ messagebroker/amf],后面的/messagebroker/amf是固定的。可设置可不设置。
 
如果在类里面动态的进行通信的话为:
 
package  m
{
	import mx.controls.Alert;
	import mx.rpc.AsyncResponder;
	import mx.rpc.AsyncToken;
	import mx.rpc.events.FaultEvent;
	import mx.rpc.events.ResultEvent;
	import mx.rpc.remoting.RemoteObject;
	
	public class ClientInfo
	{
		public var remote:RemoteObject;
		public static var PlayerClient:ClientInfo;
		public  var PlayerObj:Object;
		
		public var teamObj:Object;
		public function ClientInfo()
		{
			
		}
		public static function getInstance():ClientInfo
		{
			if(PlayerClient==null)
			{
				PlayerClient=new ClientInfo();
			}
			return PlayerClient;
		}
		public function StartClient():void
		{
			if(remote==null)
			{
				remote=new RemoteObject();
			}
			remote.endpoint="http://192.168.10.92/logservice/messagebroker/amf";
		}
		
		public function getPlayerInfo():void
		{
			remote.destination="userService";
			Alert.show("btn1");
			var result:AsyncToken =remote.getByUserId(72);
			result.addResponder(new AsyncResponder(playerInfoResultHandler,RemoteFault));
		}
		public function getPlayerInt():void
		{
			remote.destination="teamService";
			var result:AsyncToken =remote.getTeam(72);
			result.addResponder(new AsyncResponder(playerIntResultHandler,RemoteFault));
		}
		private function playerInfoResultHandler(event:ResultEvent,token:Object):void
		{
			trace("个人信息加载成功"+event.result.toString());
			Alert.show("btn11");
			PlayerClient.PlayerObj=event.result;
		}
		private function playerIntResultHandler(event:ResultEvent,token:Object):void
		{
			trace("球队信息加载成功"+event.result.toString());
			Alert.show("btn22");
			PlayerClient.teamObj=event.result;
		}
		private function RemoteFault(event:FaultEvent,token:Object):void
		{
			
			Alert.show(event.fault.toString());
		}
	}
}

服务端进行相应的服务目标配置。

posted @ 2011-08-10 14:40  懵懵懂懂的it人生  阅读(401)  评论(0编辑  收藏  举报