当前位置: 代码迷 >> Web前端 >> Flex4与JavaWeb工程基于Blazeds初始整合
  详细解决方案

Flex4与JavaWeb工程基于Blazeds初始整合

热度:187   发布时间:2012-10-16 09:57:37.0
Flex4与JavaWeb工程基于Blazeds初步整合

?

按Flex官方的介绍我理解思路是:在MyEclipse模式下新建Java Web工程B,然后将下载好的Blazeds中Blazeds.war解决后将WEB-INF目录下flex、lib、web.xml文件复制并替换到新建的B工程的WEB-INF文件夹中后就在Tomcat服务器中发布B工程并启动Tomcat服务。接着右击B工程,选择添加/更改项目类型->Flex项目类型,紧接着在“添加Flex项目类型”框中选择应用程序服务器类型为J2EE,勾选“使用远程对象访问服务”其下选择“BlazeDs”,点击“Next”后,在框中填入Tomcat中刚发布B工程的路径以及访问B工程的URL地址与对应的B工程的根目录名字,输出文件夹就按默认即可,然后点击验证配置。即完成整合内容。

?

一、环境推荐

1、JDK1.6

2、MyEclipse 9.01 M版

3、Flash Builder 4 Plug-in

?

二、工程整合步骤

1、整合采用Blazeds方式,所以需要先到官网下载Blazeds文件,http://flexorg.wip3.adobe.com/blazeds/4.x/17657/blazeds-turnkey-4.0.1.17657.zip?

?

?

?

2、在Myeclipse中新建一个Web Project,名为Flexweb.

?


?

????? 2..在Flexweb/src目录下新建类HelloWorld

Java代码如下:

?

package cn.com.talkweb.zz;
/**
 * 
 * @author zz
 * Email:jone0602@hotmail.com
 */
public class HelloWorld {

	public HelloWorld() {
	}
	
	public String sayHelloWorld(String name){
		return name+"欢迎您的到来";
	}

}
?

?

?

????????3.部署应用Flexweb到Tomcat服务器中,并启动tomcat服务。

?


?

??4.为Flexweb添加blazeds支持:

??????解压BlazeDS.war到%TOMCAT_HOME%/webapps目录下文件名为blazeds内包涵了WEB-INF和META-INF文件夹;

??????将%TOMCAT_HOME%/webapps/BlazeDS/WEB-INF/lib目录下面所有jar文件拷贝到 flexweb 的webRoot/WEB- INF/lib 目录下;

??????将%TOMCAT_HOME%/webapps/blazeds/WEB-INF/flex 目录拷贝到Demo的WebRppt/WEB-INF 下;

???? ?拷贝%TOMCAT_HOME%/webapps/BlazeDS/WEB-INF/ 下的web.xml覆盖flexweb的 web.xml;

????? 至此,我们的Flexweb已经具备了blazeds 的功能.

????? 5.为项目增加Flex支持,右键项目名称,点击“添加/更改项目类型”,“添加Flex项目类型”

?


?

?


?

????? 点击"Finish".

?

??????6.编辑Flexweb.mxml?

?

<?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">

	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			
			protected function myFlex_resultHandler(event:ResultEvent):void{
				var name:String=event.result as String;
				Alert.show(name);
			}
			protected function button1_clickHandler(event:MouseEvent):void
			{
				// TODO Auto-generated method stub
				//Alert.show(txtName.text);
				myFlex.sayHelloWorld(txtName.text);
			}
		]]>
	</fx:Script>

	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
		<s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)"/>
	</fx:Declarations>
	<s:Button x="209" y="135" label="按钮" click="button1_clickHandler(event)"/>
	<s:TextInput x="166" y="81" id="txtName"/>
	<s:Label x="10" y="81" text="添加你想说的内容:" fontSize="15" fontWeight="bold" fontFamily="中易黑体"/>
</s:Application>
?

?

???? 编辑WEB-INF/flex/remoting-config.xml文件:

?? ?<?xml version="1.0" encoding="UTF-8"?>

<service id="remoting-service" 
    class="flex.messaging.services.RemotingService">

    <adapters>
        <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
    </adapters>

    <default-channels>
        <channel ref="my-amf"/>
    </default-channels>
       <!--远程对象-->
	<destination id="mytest">
		<properties>
			<source>cn.com.talkweb.zz.HelloWorld</source>
		</properties>
	</destination>
</service>
?

????? 7.右键项目名称,点击properties/Flex构建路径,修改输出文件夹 URL;


??点击properties/Flex编译器修改Flex SDK 版本

??8.运行Flexweb.mxml即可

?


?

?

?

以上图片有参考http://blog.csdn.net/liang_shujian/archive/2010/05/28/5629637.aspx

1 楼 chenghaozuibang 2011-07-31  
请问楼主,我在做  myeclipse 的“5.为项目增加Flex支持,右键项目名称,点击“添加/更改项目类型”,“添加Flex项目类型””这部时候,直接一闪就完成了,没有出现选择 服务器J2EE那个界面,啥怎么回事?谢谢您
2 楼 jone33 2011-08-05  
chenghaozuibang 写道
请问楼主,我在做  myeclipse 的“5.为项目增加Flex支持,右键项目名称,点击“添加/更改项目类型”,“添加Flex项目类型””这部时候,直接一闪就完成了,没有出现选择 服务器J2EE那个界面,啥怎么回事?谢谢您

可以抓给上来看下吗,我没有安装Myclipse5