1、环境搭建(集成blazeDS)
1)、新建一web项目名为:demo
2)、BlazeDS集成FLEX和Tomcat
解压BlazeDS.war到tomcat/webapps目录下,在tomcat/webapps/blazeds下包涵了WEB-INF 和平META-INF文件夹
把tomcat/webapps/blazeds/WEB-INF/lib下的jar全部拷贝到demo项目的WEB-INF/lib目录下
把tomcat/webapps/blazeds/WEB-INF下web.xml中的<listener><servelt><servlet-mapping>三个节点的内容拷贝到demo中的web.xml里
至此,demo已经具备了blazeds的功能
2、在demo项目的SRC下新建一类Test.java
package com.lovo;
public class Test {
public String getPass(String name){
if(name.equals("adm")){
return "123";
}else{
return "456";
}
}
}
3、在demo的WEBROOT/WEB-INF/flex/remotion-config.xml中添加一个供flex客户端调用的destination
<destination id="Test">
<properties>
<source>com.lovo.Test</source>
</properties>
</destination>
4、将demo项目布署到tomcat中
5、右击项目demo,flex project nature, add flex project nature会弹出一个对话框,在Application server type 选择J2EE,点击 NEXT,
在Root folder: 输入D:/tomcat6/webapps/demo 工程的布署路径
在Root RUL: 输入http://localhost:8088/demo/ tomcat服务器的启动路径+项目名
在Context root:输入 /bin 编译后的FLEX文件保存路径
在Output folder: 输入 D:/tomcat6/webapps/demo/bin 工程重构后FLEX文件的输出路径
点击validate configuration按钮进行有效性验证,合格后点 Finish 完成
6、在Flex视图下,右击demo项目选择properties打开项目属性对话框,选择Flex Build Path,
在Main sour folder : 输入src
在Output folder:输入D:/tomcat6/webapps/demo/bin 工程FLEX文件的输出路径
在Output folder URL:输入http://localhost:8088/demo/bin 工程在TOMCAT服务器的启动路径
7、选择Flex Compiler,在Flex SDK version 中选择第二个(所用SDK的版本),点击apply
8、选择Flex Server ,
在Root folder:输入D:/tomcat6/webapps/demo
在Root URL输入 http://localhost:8088/demo/
在Context root输入 /demo 点击OK按钮完成设置
9、编辑Flex应用程序,在demo.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.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var pass:String;
public function resulHandler(event:ResultEvent):void{
pass = event.result.toString();
}
public function faultHandler(event:FaultEvent):void{
Alert.show("失败 ");
}
public function cli():void{
var kk = pa.text;
T.getPass(kk);
}
]]>
</mx:Script>
<mx:RemoteObject id="T" destination="Test"(要与remoting-config.xml中定义的名字一致)
endpoint="http://localhost:8088/demo1/messagebroker/amf"
fault="faultHandler(event)" result="resulHandler(event)">
</mx:RemoteObject>
<mx:Panel width="100%" height="100%">
<mx:TextInput id="pa" />
<mx:Text text="{pass}"/>
<mx:Button label="测试" click="cli()"/>
</mx:Panel>
</mx:Application>
10、如果demo的WebRoot下没有bin文件夹的话就手动添加一个再把demo.html拷贝到里面
11、启动tomcat,输入http://localhost:8088/demo/bin/demo.html进行访问
12、如果要想通过JSP来访问flex页面的话可以把Flex页面绑定到JSP页面中
在JSP页面中:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<embed src="demo.swf"/>
</body>
</html>
在tomcat/conf/context.xml里的context 元素下添加
<Loader delegate="true" />
启动tomcat,输入http://localhost:8088/demo/bin/index.jsp进行访问