您的位置:首页 > 产品设计 > UI/UE

Blazdes 和flash builder 配置实例

2011-08-10 14:40 169 查看
纠结了一天的事件 查找了好多的资料。终于把这个任务完成了。

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://+主机地址:端口/blazeds在webapps中的那个文件夹的名字/ 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());
}
}
}


服务端进行相应的服务目标配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: