JAVA和Flex敏捷调用(一)
在java项目集成flex开发在web2.0是是一个十分有价值的开发方案,特别在企业级的应用中,flex和java间的通讯越显重要。但是现在的java和flex的框架虽然多,但是共通性不大。就是通过传统的webservice调用,也因为效率问题和解析xml的繁重的工作,很多项目开发速度和维护限制较大。在近来项目,我在公司尝试了一下工厂模式辅助开发flex和java的想法。现在这种敏捷调用比较成熟,就和大家交流一下。
java反射方法:
public Object loadMethod(String className, String method, Object[] value) {
try {
Object resultObject = null;
Class h = Class.forName(className);
Object object = h.newInstance();
Method m[] = h.getDeclaredMethods();
for (int i = 0; i < m.length; i++) {
if (m[i].getName().equals(method)) {
if (value == null) {
resultObject = m[i].invoke(object);
} else {
resultObject = m[i].invoke(object, value);
}
}
}
return resultObject;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
这个是一个非常重要的方法,接受java类的类名和方法名、参数,然后远程调用
然后把该方法的类加到remoting-config.xml
<destination id="classLoader">
<properties>
<source>com.shine.framework.flexLoader.ClassLoader</source>
</properties>
</destination>
在flex的远程调用封装的类BaseRoServiceUtil.mxml
远程调用的方法
protected function loadClass(classPath:String, classMethod:String, value:Object):void
{
var loader:RemoteObject=new RemoteObject;
loader.destination="classLoader";
loader.addEventListener(FaultEvent.FAULT, error);
loader.endpoint="messagebroker/amf";
loader.loadMethod(classPath, classMethod, value);
loader.addEventListener(ResultEvent.RESULT, getRomoteHelloRes);
}
接收结果的方法(通过方法对象调用其他类的方法)
private function getRomoteHelloRes(e:ResultEvent):void
{
method.call(this, e.result);
}
如果需要调用test.Test类中的show(String str)方法的话,我们就这么写
<?xml version="1.0" enc
相关文档:
module 接口文件 PictureWindowInterface.as
package
{
public interface PictureWindowInterface
{
function setSelectIndex(index:int):void
}
}
moudule 文件 PictureWindow.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml ......
EventArgExtend.as
package myeventhelper
{
public class EventArgExtend
{
public function EventArgExtend()
{
}
public static function create(f:Function,...arg):Function //addEventListener注册事件进行传递参数的方法
{ //EventArgExtend.create(comB.onGetParentTotal,this)
......
一:到http://tuckey.org/urlrewrite/ 下载urlrewrite架包(推荐2.6.0)
二:解压所下载的文件,把urlrewrite-2.6.0.jar复制到项目的WebRoot/WEB-INF/lib/目录下
三:把urlrewrite.xml复制到项目的WebRoot/WEB-INF/目录下
四:在web.xml文件中加入以下
<filter>
<filter-name>Ur ......
什么是java EE了。一般来说,一个成熟的java EE解决方案,包括以下几个部分。
1、可以对外提供基于标准协议如xml的服务
如Web Service
2、内部通信基于面向对象的通信协议
如 RMI,Corba,XML RPC
3、安全性高,权限控制严格
如 MD5,SSL,AccountDomain
4 &nbs ......
这里主要对8种排序算法做个总结,分别是插入排序,选择排序,冒泡排序,希尔排序,归并排序,堆排序,快速排序以及基数排序。
1、 插入排序
比较和交换的时间复杂度为O(n^2),算法自适应,对于数据已基本有序的情况,时间复杂度为O(n),算法稳定,开销很低,适合于数据已基本有序或者数据量小的情况。
public void ins ......