| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
关于blog程序的几
如何加入透明Flas
为新浪博客添加fl
flashget下载联盟
弈天广告联盟关于
265联盟:“Flash
HKflash提供免费个
网络幼虫:关于我的
关于╃木蚂蚁㊣的
关于web2.0盈利模

关于flash+java           

关于flash+java

作者:佚名 来源:闪吧 作者: Leon000 更新:2007-1-13 20:36:51 错误报告 我要投稿

    首先,我是个新手,写的东西也是面向一些对as2有点了解,刚刚接触flash后台连接的新手,有些东西写的有点太细了,老手们看了不要笑话,太仔细出错的概率也高,帮忙找找错误,修改一下,谢谢!
    1,需要tomcat5.5,下载地址:
    http://tomcat.apache.org/download-55.cgi#5.5.15
点击里面的Windows Executable即可下载安装;
    2,需要jdk1.5支持,下载地址:
    https://sdlc1b.sun.com/ECom/EComActionServlet;jsessionid=DBFB8FAB9FE47740385610A2FB5D7AD0
    3,需要openamf,下载地址:
    http://prdownloads.sourceforge.net/openamf/openamf-1.0RC11-examples.zip?download
    4,需要flash remoting components for flash8 actionscript2.0,就是那个remoting组件啦,下载地址:
    http://www.macromedia.com/software/flashremoting/downloads/components/#flr_fl8
    以上都是官方网址,都是免费的
    最后,需要flash8(昏特,这还用说*_*)
    然后就是安装了,我的顺序是:remoting组件 ->jdk ->tomcat ->openamf,这里面remoting组件随便什么时候装的,后面3个的顺序一定要那样的,最后那个openamf是个.zip文件,解压缩后会得到一个openamf.war(这时应该已经装了tomcat了),把那个.war文件copy到tomcat5.5/webapps下面,启动tomcat 5.5,webapps下就会多了个文件夹openamf(如果安装结尾选择了自动运行tomcat,那么只要把.war拷贝到webapps下机会自动生成openamf文件夹了),openamf就算OK了,简单吧
    下面就开始试验一下吧:

    首先是java,也就是服务器端
    (如果是新手,不要觉得java神秘,java写起来和as基本上差不多,java的设计理念就是要设计出让人觉得容易写的语言,嘿嘿,我也是个新手:)),java的任务就是接收flash传来的消息,然后回复一个消息。
代码如下:

public class TestBean{
    public String getMessage(){
        return "Hello World!!";
    }
}

    绝对简单啊,就是定义了一个方法getMessage,返回一个String,用记事本保存为TestBean.java文件。
    如果有人不知道java怎么个弄法,那我就来充一回行家,如果知道的,直接跳到“#”处。
    安装jdk后去看一下你的jdk装哪儿了(如果装的时候只顾着按next没注意装哪儿,那多半在c:\program files\java\j2dk50了,我是装在d:\java\jdk)打开里面的一个bin文件夹,然后,copy下这个地址,我的就是D:\java\jdk\bin了。右击“我的电脑”,选属性 ->高级 ->环境变量,出来个对话框,下面一个是系统变量,双击里面的Path,然后在变量值(v)的最后面加上一个分号,后面是你的bin的地址,然后,一路按确定。
    这时,你就可以编译.java了,步骤简单说一下:
    假设你的.java放在D:\myJava下面了
开始菜单 ->运行 ->cmd,打开了dos,然后输入D:,回车;输入:cd myJava,回车;再输入:javac TestBean.java,回车。这时,稍微等一下,等dos有了反应,去D:\myJava看看,有一个TestBean.class文件,我们要的就是它了
#把编译好的.class文件copy到Tomcat 5.5\webapps\openamf\WEB-INF\classes下面,重启一下tomcat,服务器端的工作OK了
这里注意,.class文件有任何改动,都要停止tomcat再启动的

    接下来是flash,也就是客户端
    新建2个文件:connectTomcat.fla、connectTomcat.as,这里我强烈建议as和fla文件分开,fla里面只写一句代码,写在主时间轴的第一帧上:#include "connectTomcat.as"  这样fla和as完全分开,便于管理和协作。
接下类打开connectTomcat.as,输入下列代码:

import mx.remoting.Service;
import mx.remoting.PendingCall;
import mx.rpc.RelayResponder;
import mx.rpc.FaultEvent;
import mx.rpc.ResultEvent;
//新建一个Service对象:flashtestService,用来连接咱们那个TestBean.class的
var flashtestService:Service = new Service("http://localhost:8080/openamf/gateway", null, "TestBean", null, null);
var pc:PendingCall = flashtestService.getMessage();
//下面这一句的后两个参数,就是我们要调用的getMessage方法,分别加上_Result和_Fault
pc.responder = new RelayResponder(this, "getMessage_Result", "getMessage_Fault");
//一切顺利就运行getMessage_Result(),里面的参数re就是返回的内容,re.result就是它的值,在我们这个例子里,就是"Hello World!!"这个字符串,不顺利就运行getMessage_Fault。
function getMessage_Result(re:ResultEvent):Void {
    trace(re.result);
}
function getMessage_Fault(fe:FaultEvent):Void {
    trace("Pity!");
}

    保存.as文件,到fla里调试,应该能看到弹出对话框里显示着: Hello World!!
    我自己学的时候主要得益于下面2篇文章:
    http://www.flashempire.com/school/tutorview.php?id=479
    http://www.flashempire.com/school/tutorview.php?id=481
    http://blog.xuite.net/jameschih/java/5313683
    嗯!明明是3个地址嘛!呵呵,前2个是连着的,里面具体讲述了flash+remoting+jrun4的用法,但remoting和jrun都是要钱的啊,盗版的用着总不如正版的舒服嘛,第3个是关于flash+openamf+tomcat的,但对于新手来说可能还不够详细。
如果对我写的教程有任何意见,欢迎回帖,我会尽快改的
写这个教程的目的其实是为了问一个问题,我怕别人不知道我问什么,就写的过分详细,后来干脆改成教程得了,问题来了 
    我用的flash+openamf+tomcat5.5 
    我写了个java,可以生成一个xml文档并存储在.class同目录下,我用jcreator做的,在jcreator里运行一切正常,但到flash里尝试就歇菜了,flash端可以接收return的address,却没有生成xml,我就不懂了,是不是服务器限制什么的啊,这里肯定有高手,帮帮我吧! 
    我的java代码如下:

import java.io.*; 
import javax.xml.parsers.*; 
import org.w3c.dom.*; 
import org.xml.sax.*; 
import org.apache.crimson.tree.XmlDocument; 
public class XMLWrite{ 
private String address; 
public String writeXML(String outFile){ 
address = outFile; 
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = null; 
try { 
db = dbf.newDocumentBuilder(); 
} catch (ParserConfigurationException pce) { 
System.err.println(pce); 
System.exit(1); 

Document doc = null; 
doc = db.newDocument(); 
Element root = doc.createElement("root"); 
doc.appendChild(root); 
for(int i=0; i<10; i++){ 
Element sort = doc.createElement("sort"); 
sort.setAttribute("folder","ttttt"); 
root.appendChild(sort); 

try{FileOutputStream outStream = new FileOutputStream(address); 
OutputStreamWriter outWriter = new OutputStreamWriter(outStream); 
((XmlDocument) doc).write(outWriter, "GB2312"); 
outWriter.close(); 
outStream.close(); 
}catch(FileNotFoundException e){ 
System.err.println(e); 
System.exit(1); 
}catch(IOException e){ 
System.err.println(e); 
System.exit(1); 

return address; 

public static void main(String[] args){ 
XMLWrite xw=new XMLWrite(); 
String s=xw.writeXML("xxx.xml"); 
System.out.println(s); 

    我教程也发了,请各位高手帮帮忙啊!谢谢!

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。