J2EE+Flex

来源:互联网 发布:淘宝怎么修改掌柜名字 编辑:程序博客网 时间:2024/05/29 10:10

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进行访问

 

原创粉丝点击