Flex两种与后台JAVA交互的方式
发布时间:2020-12-15 00:58:38 所属栏目:百科 来源:网络整理
导读:我那边现在有两个团队做系统,一队用RemoteObject,一队用HttpService。 ? 我之前的构想也是使用RemoteObject的,但是后来发现RemoteObject有一些不爽的地方。 ? 1.RemoteObject要使用到AS的实体类(使用Bindable绑定Java类)。我的系统涉及到200多张表,如
我那边现在有两个团队做系统,一队用RemoteObject,一队用HttpService。?
我之前的构想也是使用RemoteObject的,但是后来发现RemoteObject有一些不爽的地方。? 1.RemoteObject要使用到AS的实体类(使用Bindable绑定Java类)。我的系统涉及到200多张表,如果改动表结构的话,AS实体类也要跟着改。十分麻烦,而且写好又要改getter,setter,又要部署到tomcat。除非你自己写工具自动生成。? 2.使用RemoteObject,那你的J2EE后台要添加remoting-config.xml,services-config.xml等等的配置文件和Flex的lib,多了很多文件,而我做项目的Flex仅仅是客户端显示,然后调用后台。因此我的服务端完全就可以我们熟悉的J2EE需要用到的文件。减少了配置和以后的维护。? 3.如果你要使用到Spring的话,需要配置SpringFactory和destination。例如:? services-config.xml里面添加:? <factories>? ???? <factory id="spring" class="flex.samples.factories.SpringFactory"/>? </factories>? remoting-config.xml里面添加:? <destination id="userService">? <properties>? <!--??? 工厂对应你自己取的工厂名字???? -->? ??????? <factory>spring</factory>? <!--??? 这个source对应spring的bean的id???? -->? ??????? <source>userService</source>? ??? </properties>? </destination>? 这里需要为每一个Service配置,多的话。。。。? 4.我这边做Flex的UI的开发者都是应届毕业生,使用RemoteObject有必要了解ORM(我后台持久层框架是JPA),不然他们调RemoteObject的方法时很容易出错,或者不会调用。而使用HttpService只需要我们后台人员和前台做UI的Flex开发者约定一套通信的xml格式即可。后台的负责返回xml,前台的负责发送xml,很爽!例如:? <root>? <model>? <attribute1>attr1</attribute1>? <attribute2>attr2</attribute2>? </model>? </root>? 5.Flex的组件对xml的支持十分友好。你可以直接将HttpService返回的xml放到组件的dataProvider就可以了,特别是dataGrid或者tree用起来特别好。? 5.使用HttpService减少了部署量。我只要将后台的Java程序部署到Tomcat,前台的Flex就可以直接将FlexBuilder编译好的程序在客户机连接后台,而不用部署到Tomcat,直接测试就可以了。大大提高了开发效率。? 6.使用HttpService也有缺点。首先就是通信的效率没有RemoteObject来的高(因为是xml,也可以使用JSON或者其它通信方式)。其次就是,你需要写Object与xml之间的转换。我没有使用xstream,而是自己用反射写工具类。你还需要提供Servlet给Flex调用。我用的是SpringMVC提供的MulitiController对Flex提供Http服务。? 7.使用HttpService,我碰到了一些意想不到的事情。最呕血的是我提供get方法返回xml数据的时候,Flex总是显示旧的数据。解决方法是在你请求的Servlet地址添加一个参数(参数名随便起,我用random),而且请求的参数必须每一次都不一样(可以通过当前时间或者UUID实现),例如:http://192.168.2.111:8080/UserController.do?servlet=getAll&random=sdfsdfs? 这个我查错了很久,郁闷。。。。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – Heroku页面显示错误,而“heroku日志”不
- ruby-on-rails – 覆盖类和实例方法的method_missing?
- xml零配置之WebMvcConfigurationSupport
- 关于两个Fragment布局报错Error inflating class fragment的
- c – 是否有随机访问容器类型接受预填充和预分配缓冲区?
- ajax – 在jquery中更改缓存时间
- VB CommonDialog控件选择多个文件,报"实时错误20477&#
- ruby – 将浮点数转换为其对应的位段
- Swift4.0 新特性----Swift标准库
- 技巧:组合和替换 xml-stylesheet 处理指令