易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

理解 flex component

component就是一个AS class 或者是MXML component文件在manifest文件中映射的标签.分可视和不可视
可视化component包括Containers 和 UI controls
Containers(Appliction, Panel...)
UI controls(Button, Label)
可以通过3种方式设置component的属性
1.tag attributers
Java代码
<mx:Application xmln ......

java 事务处理

如果对数据库进行多次操作,每一次的执行或步骤都是一个事务.如果数据库操作在某一步没有执行或出现异常而导致事务失败,这样有的事务被执行有的就没有被执行,从而就有了事务的回滚,取消先前的操作.....
JavaBean中使用JDBC方式进行事务处理
public int delete(int sID) {
  dbc = new DataBaseConnection();
  Connect ......

Java线程之yeild()理解

测试中发现如果几个处于可运行状态的线程的优先级都小于或者等于6时,yield()方法可将运行机会让给优先级为6和优先级为5的线程。
而如果调用了yield()方法的线程的优先级大于或等于7时,则不会将运行机会让给其他线程。 ......

myeclipse注册机,java写的适用于所有版本


import java.io.*;
public class Test {
    public static String convert(String s) {
        if (s == null || s.length() == 0)
            return s;
        ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号