整了很长时间的通信,还是一直有一点问题。现在搞定了,记录一下,也跟有需求的同学们共享。

我重新把所有的过程再做一遍。

1新建Flex+BlazeDS+JAVA项目

右键、新建Flex项目

其中blazeds.war提供下载,你可以去官网,或者从我这里:

http://yunpan.cn/QGzSwiyinUFiS  访问密码 25a8

2结构分析

flex_src是前台flex包

src是后台java包

WebRoot是输出文件包

重点就在WEB-INF

里边有blazeDS的lib,有flex的配置文件,包括messageing-config.xml,proxy-config.xml,remoting-config.xml,services-config.xml

3 写后台

packagecom;public classHelloWorld {publicString getString(String name){

System.out.println("daole");return "这里是后台-:-这里是前台"+name;

}

}

4写配置文件--修改WebRoot》WEB-INF》flex>remoting-config.xml

增加

com.HelloWorld

5写前台

protectedfunction resultHandler(event:ResultEvent):void{//TODO Auto-generated method stub

Alert.show("进入result");

Alert.show(event.result.toString(),"提示");

}

protectedfunction faultHandler(event:FaultEvent):void{//TODO Auto-generated method stub

Alert.show("进入faultHandler");

Alert.show(event.fault.toString(),"提示");

}

]]>

View Code

其中,RemoteObject 的id是之后要引用的函数名,destination对应配置文件的引用名。

6按理说到这里前后台就配置完成了,但是还有一点点小问题,我们运行一下,在Tomcat右键Add Deployment。运行Tomcat

发现程序进入了FAULT,没有进入RESULT,通道URL是url: 'http://localhost:8080/WebRoot/messagebroker/amf'

明显是路径错了,我们运行项目的路径是http://localhost:8080/PushTest6/PushTest6.html,结果被替换成了WebRoot。

Debug,找到如下图路径的配置文件

问题来了,通道是默认的,都是变量,可以替换

{context.root}被替换成了WebRoot了呗。

先手动改了my-amf的通道路径看看能不能用。

这里要注意重新清理项目,否则配置文件仍然是默认的。

明显修改了路径是可以的。但这样修改似乎不太好。我们想办法修噶器ontext.root变量。找到项目文件夹的.flexProperties文件,笔记本打开。

把serverContextRoot="/WebRoot" 改成serverContextRoot="/PushTest6"

成功了。改回来,看看还有没有别的办法。

办法2:

项目右键,属性,

附加的编译参数,增加

-context-root "\PushTest6"

-services "D:/Workspace/PushTest6/WebRoot/WEB-INF/flex/services-config.xml" -locale en_US-context-root "\PushTest6"

报错说配置变量compiler.contex-root仅能设置一次。看来要把.flexProperties的删掉才行

试试看,

修改为

解决了。

7穿插解决一个小问题

由于“RemoteObject”声明未实现“mx.core.IUIComponent”,它必须包含在 标签中 怎么解决

把 RemoteObject 标签放到 标签中就可以了,如:

8增加一个能够输入参数的代码

前台

protectedfunction resultHandler(event:ResultEvent):void{//TODO Auto-generated method stub

Alert.show("进入result");

Alert.show(event.result.toString(),"提示");

}

protectedfunction faultHandler(event:FaultEvent):void{//TODO Auto-generated method stub

Alert.show("进入faultHandler");

Alert.show(event.fault.toString(),"提示");

}

protectedfunction remotingSayHello(event:Event):void{//TODO Auto-generated method stub

var iname:String =tiName.text;

say.getHelloWorld(iname);

Alert.show("1");

}

]]>

View Code

后台

packagecom;public classHelloWorld {publicString getString(String name){

System.out.println("daole");return "这里是后台-:-这里是前台"+name;

}publicString getHelloWorld(String name){

System.out.print("执行到了getHelloWorld这里");return "HelloWorld!"+name;

}

}

View Code

源代码分享一下吧:

http://yunpan.cn/QGzvBUYieXvVS  访问密码 20d7

请尊重作者劳动成果。

flex blazeds java_Flex+BlazeDS+java通信详细笔记相关推荐

  1. flex java_Flex与Java通信 (一)

    这是最简单的JAVA与Flex通信程序,基本上是入门篇,使用的是Flex自带的RemoteObject,当然你也可以使用hessian,进入正题 1.新建一个Flex web工程,(我用的环境是MyE ...

  2. flex和java_flex和java相结合准备工作和一个实例

    学了flex和java有一段时间了,可最近一个多月没看过,不过我想写一篇帖子,希望对flex没有入门的人有所帮助,好了,废话少说,下面来看一下flex和java相结合,有哪些工作要做 1.安装myec ...

  3. Java基础详细笔记

    Java复习 基础 一个.java文件可以创建多个class,但只有一个class可以声明为public,且声明为pulic的class的名称要与.java文件名称相同. .java文件编译后可以产生 ...

  4. eclipse建立Flex项目之Blazeds篇1(测试成功完整版)

    创建Flex 与 Java 通信项目之Blazeds篇 一.环境: 1.blazeds_turnkey(内含tomcat) 2.Flex Build3(Flex的eclipse插件) 3.Eclips ...

  5. java与flex通信_Flex与Java通信教程

    Flex与Java通信教程 Flex与Java通信框架搭建的步骤: 1. 新建web项目,并启动tomcat运行,检查一切是否正常(必须): 2. 导入所需的jar包(我已给出),将需要用的四个XML ...

  6. Flex与Java通信之HttpService方式

    2019独角兽企业重金招聘Python工程师标准>>> Flex用RemoteObject方式与Java通信是最常用的方式,这是一种最直观的方式.当然Flex也可以用HttpServ ...

  7. Java并发编程(中下篇)从入门到深入 超详细笔记

    接上一篇博客笔记:Java并发编程(中上篇)从入门到深入 超详细笔记_未来很长,别只看眼前的博客-CSDN博客https://blog.csdn.net/weixin_53142722/article ...

  8. flex array java_Flex中ArrayCollection 与java中的ArrayList互转

    Flex中ArrayCollection与java中的ArrayList互转 这里说这是Flex用remoting传一个ArrayCollection到后台(后台也用ArrayCollection接参 ...

  9. 当年我们一起追过的Java,Java SE 个人笔记

    目录 JDK的安装和配置运行Java程序 java基本语法 面向对象 异常 多线程l API(Application Programming Interface)各种功能的类说明 集合类 IO输入输出 ...

最新文章

  1. 《互联网理财一册通》一一第12章 移动互联网“指尖上的理财”
  2. 如何使用Laravel Debugbar?
  3. 职业生涯:怎么样学好Oracle
  4. eeprom stm8l 擦除 读写_[STM8L]EEPROM操作读与写
  5. E. Don‘t Really Like How The Story Ends(代码未补)
  6. java ee项目部署到服务器上405,HTTP状态405 - HTTP POST方法不受此URL支持:采用的GlassFish服务器的NetBeans...
  7. jmeter 配置master控制器压测机
  8. db2 linux 导入数据_实现DB2数据库迁移之导入步骤在Linux下
  9. 投毒、伪装、攻击,DNS 欺骗和钓鱼网站如何一步步诱人掉入陷阱?
  10. 抹机王怎么一键新机_[电脑] [第六届机王争霸赛]水冷组——十年 by ilas 完工
  11. 支持HTML5 SqlLite的AndroidApp
  12. spring-第七篇之深入理解容器中的bean
  13. 1.scrapy项目创建——python scrapy 爬取新浪财经财经新闻
  14. WP模板阁怎么样?能买吗
  15. 【ESP 保姆级教程】玩转emqx认证篇③ ——认证安全之使用 MySQL 的密码认证
  16. 零基础学平面设计怎么掌握好基础
  17. UR 机器人HMI 交互界面开发记录
  18. (转)《达·芬奇密码》解读解密
  19. 网络协议 -- HTTP协议,get和post的区别?
  20. 2021-2027全球与中国激光波长计市场现状及未来发展趋势

热门文章

  1. 【Scratch】《零基础入门学习Scratch》(小甲鱼)笔记二
  2. Generative Adversarial Nets论文翻译
  3. shell命令之zip压缩和解压
  4. python计算圆周率近似值_使用MicroPython计算任意位数圆周率
  5. CAD图案进行快速填充以及创建边界应该怎么实现?
  6. 关于计算机素养论文,浅谈计算机专业教学中如何提高学生计算机素养
  7. java虚拟机32位_jre1.6java虚拟机运行环境下载|jre1.6官方版32位/64位下载_v1.6.0_9号软件下载...
  8. 2022年上海市徐汇区创新型中小企业名单公示
  9. 解决Windows11无法开启虚拟机,报错vcpu-1问题
  10. 如何在linux中连接sybase数据库