紧急求救:Jsp调用服务器上EXE的问题。
小弟我编写一个WEB应用程序,通过WEB让用户提供数据(文件),然后该WEB程序调用服务器上面已经有的EXE文件并执行这个EXE文件(也就是Kmean.exe),然后把输出的结果通过WEB返回给用户。这个过程总的来说不难,也就是分上传文件和调用Kmean.exe过程。上传文件很容易就解决了,执行Kmean.exe理论上也应该很简单,直接使用Runtime.getRuntime.exec()就可以了,但是在具体操作过程中出现了问题。具体描述如下:
在我的机器上面,我执行Notapad.java的时候能够启动notepad进程也能显示一个记事本窗体,执行Kmean.exe的时候能够启动Kmean进程(任务管理器里面能看到),通过这个进程能够运行并产生正确的结果,但是不显示dos窗口(直接双击Kmean会打开Dos窗口)。运行notepad.jsp的时候能够启动notepad进程,但是不能显示记事本窗体,执行Kmean.jsp的时候也能出现kmean的进程,但是这个进程立刻执行结束(然而事实上如果kmean正确执行,这个进程应该占用很多cpu并且执行较长时间)。
在同学机器上面,执行Notepad.java和Kmean.java的时候效果正确,和我机器上面是一样的效果,但是执行notepad.jsp的时候他的机器能启动进程也能显示一个记事本窗体(这个就比我机器上面的效果理想)。不过很遗憾的是在他机器上面kmean.jsp同样不能正确执行,只能在进程中看到kmean一闪而过,也没有正确的输出。
我的机器:winXP SP1 Tomcat5.5 jdk1.5.1
他的机器:winXP sp1 tomcat5.028 jdk1.4.2
后来我重装系统为WinXP sp2 其他的还是Tomcat5.5 jdk1.5.1,但是执行效果不变。
于是我用用WinXP sp2 Tomcat5.028 jdk1.42测试,结果依旧和原来在我机器上执行的结果不变!
其中Kmean.exe是一个c++编写的应用程序,该程序接受文件3.txt作为输入,然后正确执行以后产生一个3.txt文件作为输出。
Kmean.java:
--------------------------
import java.io.IOException;
public class Kmean{
public static void main(String args[]) throws IOException{
Runtime.getRuntime().exec("kmean.exe");
}
}
----------------------------
Notepad.java:
----------------------------
import java.io.IOException;
public class Notepad{
public static void main(String args[]) throws IOException{
Runtime.getRuntime().exec("notepad.exe");
}
}
-----------------------------
Notepad.jsp
-----------------------------
<%
Process x=Runtime.getRuntime().exec("notepad");
out.print ("Pleased to meet you, " + x.getInputStream().toString() + "name");
%>
-----------------------------
Kmean.jsp
-----------------------------
<%
Process x=Runtime.getRuntime().exec("D:/eclipse/workspace/OpenInterface/kmean/test.exe");
out.print ("Pleased to meet you, " + x.getInputStream().toString() + "name");
%>
问题点数:0、回复次数:4Top
1 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2005-06-04 09:14:23 得分 0
顶一下!
关注Top
2 楼tangfulin(雨寒月)回复于 2005-06-04 12:43:53 得分 0
关注
没有做过,期待回答Top
3 楼bineon(雪冬寒)回复于 2005-06-04 14:35:03 得分 0
求教有经验的人。没有尝试过的也请帮忙测试一下。谢谢Top
4 楼webber1983219()回复于 2005-06-06 10:06:06 得分 0
我也想实现啊!顶一下!Top




