作者:(不好意思,忘记是谁..)
转载地址:(也忘记了...找到了就贴回去。哈哈...)
MyEclipse_8.5+flex_4+Blazeds
配置
需要软件:
apachetomcat.exe、
myeclipse-8.0.0-win32.exe、
jdk-6u12-windows-i586-p.exe、
blazeds-turnkey-4.0.0.14931.zip、
FlashBuilder_4_Plugin_LS10.exe http://www.adobe.com/cfusion/tdrc/index.cfm?product=flash%5Fbuilder&loc=zh%5Fcn
下载
ADOBE的这两个免费软件需要注册用户
一、安装jdk
按照步骤,选择路径安装,安装成功后,在安装路径下有java文件,包含jdk和jre两个子文件。
二、
JDK
环境变量配置的步骤如下:
1.
我的电脑
-->
属性
-->
高级
-->
环境变量
.
2.
配置用户变量
:
a.
新建
JAVA_HOME
C:/Program Files/Java/jdk1.5.0
(
JDK
的安装路径)
b.
新建
PATH
%JAVA_HOME%/bin;
c.
新建
CLASSPATH
.;%JAVA_HOME%/lib;
3.
测试环境变量配置是否成功:
开始
-->
运行
--
〉
CMD
键盘敲入:
JAVAC -version
出现
jdk
版本信息,而不是出错信息,即表示配置成功!
环境变量配置的理解:
1. PATH
环境变量
。作用是指定命令搜索路径,在
i
命令行下面执行命令如
javac
编译
java
程序时,它会到
PATH
变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把
jdk
安装目录下的
bin
目录增加到现有的
PATH
变量中,
bin
目录中包含经常要用到的可执行文件如
javac/java/javadoc
等待,设置好
PATH
变量后,就可以在任何目录下执行
javac/java
等工具了。
2. CLASSPATH
环境变量
。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,
JVM
就是通过
CLASSPTH
来寻找类的。我们需要把
jdk
安装目录下的
lib
子目录中的
dt.jar
和
tools.jar
设置到
CLASSPATH
中,当然,当前目录
“.”
也必须加入到该变量中。
3. JAVA_HOME
环境变量
。它指向
jdk
的安装目录,
Eclipse/NetBeans/Tomcat
等软件就是通过搜索
JAVA_HOME
变量来找到并使用安装好的
jdk
。
三、安装Apache Tomcat web服务器
最好与jdk安装在同一目录下,自动搜索jre所在位置。
不在同一目录时,需要手工浏览到jdk的安装路径,端口默认为8080,也可自定义。
安装完成后,在浏览器中输入:
http://localhost:端口号,如果显示apace tomcat网页,则安装成功!
四、安装Myelipase 8.0
按照步骤安装,安装完成后,重启计算机,最后配置环境:
1)打开myeclipse
, -> ->Servers->Tomcat,选择tomcat的版本,进行配置tomcat。
2)
3)
四、安装Adobe Flash Builder 4 Plugin
安装时,它会让你选择一个解压的文件路径,这个路径中不可以含有中文,否则会出错,你就解压在C盘中。然后安装。
这里是安装路径,这个路径不是整合Myeclipse路径所以不要选择Myeclipse运行路径。我这里安装到adobe文件夹下面,好点下一步。
这里所选择的路径是myeclise的运行目录(也就是有myeclipase.exe文件的目录),记得关键之处,如果这个不是选择运行文件夹那你的整合将失败。好了到此整合成功了。
Flex4
安装完成之后要将flex的安装目录中的eclipase目录下面的和eclipse-host-distro目录下面的features和plugins文件夹中的内容拷贝到安装Myeclipase文件夹下的common文件夹中的features和plugins文件夹内,到此配置成功
Blazds
的配置
:下载个Blazds的包,解压,将其中的blazeds.war、ds-console.war、samples.war拷贝到Tomcat下的webapps文件夹中就好,
运行下,
http://localhost:8080/samples 看看有没有配置成功
搭建一个web工程没有那么简单,因为flex只是做为表示层展示,flex只接收java返回数据,那怎么和java服务端通信呢?这时我们需要用到adobe公司开发的一个开源项目Blazeds。
Blazeds
是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging) 技术,以LGPL(Lesser GNU Public License)公共许可证书发布。它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。在Java应用服务器上,它以servlet的形式存在, 因此可以在任何标准Java网络应用中运用它。下载地址是:
Blazeds
二、打开Myeclise8.0新建一个javaweb工程,选择javaEE 5.0如图2
三、右击WebRoot选择import—>General
à
File system
,展开发现在WEB-INF目录下面多了flex文件夹,这个很重要主要是通信的4个配置文件。如图3
图3
右击WebRoot选择
import—>General
à
File system
单击确定,然后勾选它
单击Finish 然后选择
Yse to all
导入成功
四,部署flexweb项目到tomcat里面。这部重要因为下面要整合flex必须得启动服务。我部署的服务器物理路径为:D:/soft/apache/tomcat/webapps/flexweb
单击图中红色圆圈的按钮
单击 Add
选择 Tomcat 6.x,然后Finish部署成功,在Tomcat 服务器下面的webapps文件夹下就有first这个文件夹了
六、转换为flex项目,首先选中你的jspweb项目右键选择添加/更改项目类型,在选择添加flex项目类型
图4
七、选服务器为j2ee,然后选择Blazeds如图5
图5
八、 下一步配置你的服务器路径,上面说了我的物理路径是D:/soft/apache/tomcat/webapps/flexweb所以我下面就填如下信息如图6
图6
根文件夹就是服务物理路径,根URL就是你的访问路径我这里tomcat的端口是8080所以就这样填,看你的端口而定然后在加上你的项目名称,上下文根目录就填项目名称就行了。最后输出路径我把后面的目录改为flex。记得点一下验证配置只有通过才有效哦,如图6
九、解决创建的错误如图7
图7
找到Problems看到有一个错误然后我们右键选重新创建HTML模板。这里错误已经解决,但是新的问题又来了,src是java的源文件夹存java源代码地方,但是现在被flex给占用了
图8
十、更改flex的项目源文件为flex_src,右键项目属性找到flex构键路径的主源文件夹把src改为flex_src如图9
图9
十一、然后把src文件夹里面的flexweb.xml移动到flex_src文件夹里面,最终目录路径如图10
下面实现flex与java通信
现在基本的弄好了,现在就是要配置相关文件了,首先我们打开之前做好flexweb项目,然后切换到Myeclipse视图。如果项目出错红色的XX,不要紧那是因为我们没有启动Tomcat,如果启动了服务器还有重新编译flex项目才能正常。但是这里先不弄等我们弄完在搞它。
一、在src目录创建java文件
二、配置Webroot/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>test.A**tech</source> </properties> </destination> </service> |
这里的配置文件是加上去的
<destination id="mytest">
<properties>
<source>test.A**tech</source>
</properties>
</destination>
<properties>
<source>test.A**tech</source>
</properties>
</destination>
这个是配置flex访问java方法的一个远程对象方法,配置后就可以与java通信了。我们试试吧
三、flex配置远程对象
我的配置如下
<?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="1024" minHeight="768"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent;
protected function myFlex_resultHandler(event:ResultEvent):void
{ var name:String=event.result as String; Alert.show(name); } protected function btnSend_clickHandler(event:MouseEvent):void { myFlex.helloWorld(txtName.text); }
]]> </fx:Script> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> <s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)" /> </fx:Declarations> <s:Panel x="87" y="20" width="250" height="200" title=" www.a**tecg.com发送" id="btnSend" click="btnSend_clickHandler(event)"/> </s:Panel> </s:Application> flex4"> <s:TextInput x="16" y="37" id="txtName"/> <s:Button x="168" y="38" label=" |
下面的这个配置就是调用java端的一个远程对象, destination="mytest"就是我们刚才配置的remoting-config.xml文件中的ID名称,result="myFlex_resultHandler(event)" 就是如果服务器成功就执行result里面的方法。
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)" />
</fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)" />
</fx:Declarations>
然后点发送按钮时发送远程对象的helloWorld方法,执行click="btnSend_clickHandler(event)"
四、重新验证flex服务器
好了现在可以访问了。展示一下小作品吧