Runtime.getRuntime().exec("*.exe")我们公司用这种方法,速度还行吧!

解决方案 »

  1.   

    老兄,这个方法是一定可以了,但是如何执行客户端的exe那?java的类的执行都是在服务器的容器里面呀,调用的都是服务器上的资源。我这里的要求是调客户端的,这个执行方法十分发简单,但是怎么到客户端执行是问题。不会我没有说清楚吧,applet可以应该,但是速度是问题了(页面的显示速度,总是慢半拍,很是不让人满意)。
      

  2.   

    恩???下载了APPLET就不用服务器的资源了啊!用客户端的虚拟机啊!
      

  3.   

    其实我觉得这个东西没有必要用JAVA去实现
      

  4.   

    GG,这个我都知道,我也提到用applet或ActiveX实现来着,不过都不可取。我想知道是不是用其他的类包支持这个,不要再在applet上打转了。有对jni了解的吗?我印象里这个东西使用的资源也是服务器的吧,应该没什么帮助吧,我对此不甚了解,嘿嘿,请高手赐教!
      

  5.   

    1。用applet,在其中调用Runtime.getRuntime().exec("*.exe"),应该可以在客户端执行????   ---------用applet调用本地exe不是那么简单的!要不然java也就不安全了。这种方法可行,速度也不慢,但是会有很多问题有待于解决的。
    2。JNI 同样面临这个问题,只要是调用本地进程就不是那么简单的。如果用jni就需要先用c/c++来编写dll调用pb的exe然后java来掉用c/c++很麻烦。而且同样避不开上诉问题。
    3。我的意见是用applet直接调用但是注意要经过客户端的安全允许。
      

  6.   

    了解,看来就这样吧,chandler(阿欣) 的意见跟我的基本相同,我已经实现了,用的applet方式,无奈呀,不知道以后会出现什么问题,因为这是严重违反了java的设计规则的,咳!倒霉的需求,就这么凑活吧。
      

  7.   

    import java.io.*;
    import java.applet.*;
    public class Test extends Applet implements Runnable{
    public void init(){
    try{
    Runtime.getRuntime().exec("notepad.exe");
    }catch(IOException e){
    }
    }
    }java.security.AccessControlException: access denied (java.io.FilePermission <<ALL FILES>> execute)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
    at java.security.AccessController.checkPermission(AccessController.java:401)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
    at java.lang.SecurityManager.checkExec(SecurityManager.java:774)
    at java.lang.Runtime.exec(Runtime.java:563)
    at java.lang.Runtime.exec(Runtime.java:428)
    at java.lang.Runtime.exec(Runtime.java:364)
    at java.lang.Runtime.exec(Runtime.java:326)
    at Test.init(Test.java:23)
    at sun.applet.AppletPanel.run(AppletPanel.java:353)
    at java.lang.Thread.run(Thread.java:534)
    java 安全机制不充许访问本地文件.
      

  8.   

    想想看还是问题多多,不知道有没有其他的实现方式,摆脱跳出applet的圈子吧,ActiveX是一样的道理,有没有别样的方式?急待高手指点!!!!
      

  9.   

    用java web start 试试,当然,客户端也要装一个jdk1.4以上的版本,
    把你要调用程序的类通过java web start来调用,应该就没有那么多的安全问题了。
      

  10.   

    补充一下, java web start启动你调用本地程序的类
      

  11.   

    不要这么说,其实很合理的需求,软件系统集成的问题多多。即不能抛弃原来的老系统,也不能不采用新的技术提高系统的档次。而且退一步说C/S结构有其存在的合理性,在专用管理软件方面比B/S强。出现了问题就得解决呀,谁让TMD用户是上帝呢,我们只是给人家服务的小工罢了(是不是我们也算技术工人,相当于6极木匠?:-))。
       看来方案难寻了,参考了一下以前别的国际公司的解决办法,呵呵,规模比重做还要命,算了,结了吧,估计在这里是找不到答案了。
      

  12.   

    是什么东西一定要运行本地程序?不可以通过mimetype之类的下载时让它自动运行?